我有一个名为“Item”的实体,其属性名为“colorArray”,类型为“Transformable”。

colorArray 可以是,例如:

[["Red", "Blue", "Green"], ["Red"], ["Blue", "Green"], ["Green"], ["Blue"], ["Blue", "Green", "Red"]]

然后我使用以下方法将 colorArray 保存到核心数据:
            newEntry.colorArray = colorArray as NSObject

我想从核心数据中检索 colorArray(以保存它的相同数组格式),这样做的最佳方法是什么?

最佳答案

我不确定您为什么要使用 as NSObjectas! [NSArray] ,因为对于您提供的示例而言,它们都不是必需的或有用的。
colorArray 属性配置如下:

arrays - 从核心数据 Swift 4 中检索数组(可转换)-LMLPHP

可以将问题中的数组分配给属性

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/

10-12 20:42