在核心数据中存储NSMutableArray的NSManagedObject数组迅捷2

时间:2016-02-03 18:50:26

标签: arrays swift core-data swift2 nsmanagedobject

我对swift有些新意,在数组方面我不是主人 我试图找到一种可以将NSManagedObjects数组存储到核心数据中的方法。

以下是一个例子:

let array = [["a", "b", "c",],["1", "2", "3",],["apple", "orange", "pear"]]

这就是我这样做的方式:

我有几个NSManagedObjects数组,我添加到NSMutableArray 然后我将其存储为可转换数据。像这样。

let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let managedContext = appDelegate.managedObjectContext
let entity_entry = NSEntityDescription.entityForName("EntityForArrays", inManagedObjectContext: managedContext)
let new_value = NSManagedObject(entity: entity_entry!, insertIntoManagedObjectContext: managedContext)
new_value.setValue(array, forKey: "attribute")

我是通过使用NSMutableArray走向正确的道路还是应该尝试新的东西?

如果可以存储此数组,我该如何接收它?

1 个答案:

答案 0 :(得分:0)

它是否正确的路径取决于您需要如何使用该阵列。将它全部放入一个可转换的属性中很方便,但是你不能使用谓词根据它们的数组内容来获取对象。

保存这样的数组应该有效。要取回它,请使用NSFetchRequest获取对象,然后使用valueForKey()查找数组值。