我有一个名为“Item”的实体,其属性名为“colorArray”,类型为“Transformable”。
colorArray 可以是,例如:
[["Red", "Blue", "Green"], ["Red"], ["Blue", "Green"], ["Green"], ["Blue"], ["Blue", "Green", "Red"]]
然后我使用以下方法将 colorArray 保存到核心数据:
newEntry.colorArray = colorArray as NSObject
我想从核心数据中检索 colorArray(以保存它的相同数组格式),这样做的最佳方法是什么?
最佳答案
我不确定您为什么要使用 as NSObject
或 as! [NSArray]
,因为对于您提供的示例而言,它们都不是必需的或有用的。colorArray
属性配置如下:
可以将问题中的数组分配给属性
myObject.colorArray = [["Red", "Blue", "Green"], ["Red"], ["Blue", "Green"], ["Green"], ["Blue"], ["Blue", "Green", "Red"]]
同样,可以使用以下方法检索值
if let colorArray = myObject.colorArray {
print("Color array: \(colorArray)")
colorArray.forEach { (entry) in
print("Array entry: \(entry)")
}
}
该值保留在 Core Data 中,因此如果您终止应用程序并重新启动它,数据仍然存在。
通过使用这些类型转换,您可能会过度复杂化,并因此导致错误。
关于arrays - 从核心数据 Swift 4 中检索数组(可转换),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48529149/