I'm trying to save an array within Core Data as a property. allImages is going to be assigned to a [String]. I've seen some people say to make it transformable. What is the proper solution to saving this into core data?
我如何获得对它们的引用,以便我可以将可转换更改为[String]
这实际上是一个好点,因为我链接到的答案假设您正在创建自己的 NSManagedObject 子类。
值得强调的是,自己创建/维护自己的 NSManagedObject 子类是一个完全有效的选项,有些人甚至可能建议这是一个首选选项,因为如果您的项目位于存储库中,您可以更好地了解任何随时间变化的情况。
然而,最后几个 Core Data 项目我一直在使用 Xcode 创建子类,这意味着您需要在扩展中创建另一个属性。
这是我一直在使用的一般方法:
首先,在模型文件中,我使用它所代表的对象类型(在本例中为数组)来命名该属性:
然后创建一个扩展并添加一个在之间进行转换的计算属性NSArray
和斯威夫特Array
type:
extension CoreDataArrayObj {
var images: [String] {
get {
return imagesArray as? Array<String> ?? []
}
set {
imagesArray = newValue as NSArray
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)