嗨,我正在尝试存储一个充满对象的数组,以便在应用程序完全关闭时它不会消失。
问题: 如果我使用核心数据并将数组转换为 NSData 那么它就可以工作。但应用程序在处理数组时会卡住。 我也尝试过可转换数据类型,但我无法让它工作。 我也无法使用 NSUserdefaults,因为它不支持图像。
有谁知道我如何解决这个问题。 我是编程新手,所以这可能是一个完全错误的方法。
最佳答案
首先将图像保存在文档目录中图像目录中的具有唯一文件名的单个文件中。将唯一的文件名放入数组中,而不是图像中。
然后,根据您的需要,如果需要快速随机访问,请将每个图像的单个信息保存在核心数据中。或者将数组保存在文件中。
对于 1500 个约 100 个字符的字符串,每个字符串保存在一个文件中可能没问题,我会从那里开始,只有在出现性能问题时才转到 Core Data,Core Data 可以解决它。
正如肯·贝克所说:“做最简单、可行的事情。”我不认为在数组中包含 750 个图像(如果它们的尺寸足够大的话)真的有效。
不要使用NSUserDefaults
。
关于arrays - 在 Swift 中存储带有字符串和图像的大型数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31630671/