gpt4 book ai didi

ios - Swift:将 NSDictionary 保存到文件中,因为 NSUserDefaults 会变慢

转载 作者:行者123 更新时间:2023-11-28 07:13:52 28 4
gpt4 key购买 nike

我正在使用 NSUserDefaults 来保存更多 10 个大的 NSDictionary。

因为性能很慢,我想将数据保存到一个 [或 10 个文件] 中,而不是使用 NSUserDefaults。我需要在启动应用程序时才需要数据,所以我的想法是,将数据保存到文件中,然后仅将我需要的数据快速保存到 NSUserDefaults 中。

我在堆栈溢出时找到了这个解决方案: Read and write data from text file

let dirs : [String]? = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true) as? [String]
if ((dirs) != nil) {
let dir = dirs![0]; //documents directory
let path = dir.stringByAppendingPathComponent(file);
let text = "some text"

//writing
text.writeToFile(path, atomically: false, encoding: NSUTF8StringEncoding, error: nil);

//reading
let text2 = String(contentsOfFile: path, encoding: NSUTF8StringEncoding, error: nil)
}

这适用于字符串。但是当我尝试使用

NameOfMyDict.writeToFile

我得到一个错误,因为 Dict 没有 writeToFile 函数。

如何将 Dict 保存到文件?

最佳答案

NSDictionary提供保存到文件的功能。它是 Foundation 的一部分框架:

writeToFile(_ path: String, atomically flag: Bool) -> Bool

如果你使用 swift Dictionary<> ,您可能需要转换为 NSDictionary .字典的所有元素都应该实现 NSCoding协议(protocol)。

关于ios - Swift:将 NSDictionary 保存到文件中,因为 NSUserDefaults 会变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27229431/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com