我正在使用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