我正在使用NSUserDefaults.standardUserDefaults()來保存從WebService到iPhone內存的JSON字符串。當我加載它來使用我的解析器功能時,處理速度非常慢。我不想使用RealmIO或任何數據庫,因爲這個東西沒有必要。我想問有沒有比NSUserDefaults更快的方法? Please check my JSON file (I need store more than 20 files like that)IOS如何保存並加載JSON字符串到內存
0
A
回答
0
而不是將您的數據保存到NSUserDefaults
,您應該將其保存到不同的文件,這將會更有效。
這裏是你如何能做到這:
// Build file url
let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).last!
let fileURL = documentsURL.URLByAppendingPathComponent("file_1.json", isDirectory: false)
// Write
let jsonString = "..."
let jsonData = jsonString.dataUsingEncoding(NSUTF8StringEncoding)
do {
try jsonData?.writeToURL(fileURL, options: NSDataWritingOptions())
} catch {
NSLog("Writing file to `\(fileURL)` failed with error : \(error)")
}
// Read
do {
let jsonData = try NSData(contentsOfURL: fileURL, options: NSDataReadingOptions())
let jsonString = String(data: jsonData, encoding: NSUTF8StringEncoding)
} catch {
NSLog("Reading file at url `\(fileURL)` failed with error : \(error)")
}
0
是NSUserDefaults的不是一個數據庫。如果您的JSON文檔超過100 KB,則將它們存儲在單獨的文檔中。請注意,每次更改任何用戶默認值時,所有用戶默認值都必須寫入文件。如果您有20個每個1MB的JSON文檔,那麼每個用戶默認情況下您將更改爲,寫入20MB或更多。
相關問題
- 1. 在iOS中保存並加載多個字符串到UITextView
- 2. 如何在iOS中爲objectiveC字符串保護dealloc內存?
- 3. 如何保存字符串?
- 4. 簡單TListView保存並加載文件(僅保存列字符串值)
- 5. 如何保存從JSON加載的特殊字符
- 6. 如何散列或JSON字符串保存到一個jsonb場
- 7. 如何在字符串中加載和保存plist?
- 8. 如何以json字符串的形式將對象保存到數據庫並稍後重新加載?
- 9. 如何將字符串轉換爲JSON並將數據保存到數組中?
- 10. 字符串保存爲JSON在Django
- 11. 如何拆分字符串並將其保存到數組
- 12. 如何消除部分字符串並保存到變量中?
- 13. 保存並加載ListView內容
- 14. 將字符串添加到位圖圖像並保存vb
- 15. 如何使用Spire PDF將文件保存並加載到內存流C#
- 16. 如何獲取網頁內容並將其保存到字符串變量中
- 17. 如何存儲JSON響應並保存到JSON文件
- 18. 我將如何保存並加載UITextField?
- 19. 如何將加密的字符串保存到數據庫?
- 20. 如何將字符串加上其狀態保存到List中?
- 21. 如何將json字符串轉換爲字典並在鍵中保存順序?
- 22. 分割字符串,並保存爲XML
- 23. 如何使用SwiftyJSON保存並在NSUserDefaults中加載JSON?
- 24. 如何從iOS中的JSON加載本地化字符串
- 25. 如何將JSON字符串加載到JSON列中
- 26. 保存並加載從jPBC
- 27. GamePlayKit GKObstacleGraph保存並加載
- 28. 保存並加載高分
- 29. 保存並加載FlannBasedMatcher
- 30. Anglesharp IElement保存並加載
不是JSON字符串,而是JSON數據。 JSON文件不是字符串。所有接口都期望或生成NSData。 – gnasher729