我正在使用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. 保存和加载字符串
- 3. 如何将JSON字符串保存到iOS中的一个字段?
- 4. 如何在iOS中为objectiveC字符串保护dealloc内存?
- 5. 如何保存字符串?
- 6. 如何在web api中接收并保存JSON字符串
- 7. 下载文件并保存到内存
- 8. 简单TListView保存并加载文件(仅保存列字符串值)
- 9. 如何保存从JSON加载的特殊字符
- 10. 在字符串下保存并加载ArrayList?
- 11. 如何散列或JSON字符串保存到一个jsonb场
- 12. 如何在字符串中加载和保存plist?
- 13. 如何以json字符串的形式将对象保存到数据库并稍后重新加载?
- 14. 如何将字符串转换为JSON并将数据保存到数组中?
- 15. 如何将循环JSON对象字符串化并将其保存到文件?
- 16. IOS - NSJSONSerialization保存JSON到ipad
- 17. 将webview内容保存到android存储并加载它
- 18. 字符串保存为JSON在Django
- 19. 如何消除部分字符串并保存到变量中?
- 20. 如何拆分字符串并将其保存到数组
- 21. 如何将字符串内容保存到本地文件
- 22. 保存和加载UIImage从/到字符串
- 23. 保存/加载IOS数据
- 24. 保存并加载ListView内容
- 25. 将字符串添加到位图图像并保存vb
- 26. 如何保存并加载复选框,如保存文件 - php
- 27. 如何使用Spire PDF将文件保存并加载到内存流C#
- 28. 如何在mysql字段中保存json字符串
- 29. 保存并加载用户缩放的内容uiscrollview ios
- 30. 如何存储JSON响应并保存到JSON文件
不是JSON字符串,而是JSON数据。 JSON文件不是字符串。所有接口都期望或生成NSData。 – gnasher729