arrays - 在 Swift 中存储带有字符串和图像的大型数组

标签 arrays swift core-data nsuserdefaults storing-data

嗨,我正在尝试存储一个充满对象的数组,以便在应用程序完全关闭时它不会消失。

问题: 如果我使用核心数据并将数组转换为 NSData 那么它就可以工作。但应用程序在处理数组时会卡住。 我也尝试过可转换数据类型,但我无法让它工作。 我也无法使用 NSUserdefaults,因为它不支持图像。

有谁知道我如何解决这个问题。 我是编程新手,所以这可能是一个完全错误的方法。

最佳答案

首先将图像保存在文档目录中图像目录中的具有唯一文件名的单个文件中。将唯一的文件名放入数组中,而不是图像中。

然后,根据您的需要,如果需要快速随机访问,请将每个图像的单个信息保存在核心数据中。或者将数组保存在文件中。

对于 1500 个约 100 个字符的字符串,每个字符串保存在一个文件中可能没问题,我会从那里开始,只有在出现性能问题时才转到 Core Data,Core Data 可以解决它。

正如肯·贝克所说:“做最简单、可行的事情。”我不认为在数组中包含 750 个图像(如果它们的尺寸足够大的话)真的有效。

不要使用NSUserDefaults

关于arrays - 在 Swift 中存储带有字符串和图像的大型数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31630671/

相关文章:

java - Eclipse 格式化程序 - 多维数组初始化

C++ 在枚举中有数组值?

ios - 禁用安全区域布局指南

ios - 从核心数据中获取独特值(value)

iphone - 核心数据持久存储协调器不存在

java - 将字符串添加到此字符串数组的最有效方法是什么?

c - 为什么我会收到一条错误消息,提示我的函数类型存在冲突? (编辑)

json - 无法使用 Alamofire 和 SwiftyJSON 访问数组、JSON 响应中的 url

objective-c - 如何将 UIImage 从 iPhone 应用程序传递到 Apple Watch 应用程序

ios - 为什么我不能在 NSManagedObject 子类计算属性中使用关系? (核心数据, swift )