CoreData中的Swift数组

时间:2016-12-18 11:37:34

标签: arrays core-data swift3

我想将一个包含28个条目的数组存储到我的coreData中。有没有办法做到这一点? 我尝试使用此代码,但看起来这段代码只是重写了这个值。

let appDelegate =
        UIApplication.shared.delegate as! AppDelegate

    let managedContext = appDelegate.persistentContainer.viewContext

    let entity =  NSEntityDescription.entity(forEntityName: "PillTook",
                                             in:managedContext)

    let value = NSManagedObject(entity: entity!,
                                insertInto: managedContext)

    for var index in 0...27 {

        value.setValue(false, forKey: "took")

        do {
            try managedContext.save()

            pillTook.append(value)

        } catch let error as NSError  {
            print("Could not save \(error), \(error.userInfo)")
        }
    }

1 个答案:

答案 0 :(得分:0)

是的,您的代码只创建一个nil,并在for循环中更新其NSManagedObject属性的值。将took行移动到for循环中,为每次迭代创建一个新的let value = ...。我还建议在for循环后只保存一次上下文,而不是在每次迭代时保存:

NSManagedObject