用核心数据保存数组Swift 3?
我试图在Core Data中保存一个数组作为属性。 allImages将被分配给[String]。 我见过一些人说可以变形 将这些数据保存到核心数据的正确解决scheme是什么?
我怎么得到他们的参考,所以我可以改变可转换为
[String]
这实际上是一个好点,因为我链接的答案也假设你正在创build自己的NSManagedObject子类。
值得强调的是,自己创build/维护你自己的NSManagedObject子类是一个完全有效的select,有些人甚至可能会build议这是一个首选方法,因为如果你的项目在一个仓库中,你可以更好地了解任何变化。
然而 – 最后几个核心数据项目我一直在使用Xcode来创build子类,这意味着你需要在扩展中创build另一个属性。
以下是我一直在使用的一般方法:
首先,在您的模型文件中,我使用它所表示的对象的types来命名属性,在这种情况下是一个数组:
然后创build一个扩展,并添加一个在NSArray
和Swift Array
types之间转换的计算属性:
extension CoreDataArrayObj { var images: [String] { get { return imagesArray as? Array<String> ?? [] } set { imagesArray = newValue as NSArray } } }
- 最好的方法来保存和检索到核心数据的UIColors
- 使用performBackgroundTask更新NSFetchedResultsController
- NSFetchRequest setPropertiesToGroupBy:返回匹配的所有实体吗?
- iOS Core Data Architecture提示
- NSManagedObject在Swift中实现协议的EXC_BAD_ACCESS错误
- RestKit核心数据NSError dealloc崩溃
- 我可以在Core Data中访问用于外部二进制存储的文件吗?
- CoreData:无法加载实体的类
- 如何使用predicateWithFormat进行查询NSString包含在NSSet中