向Core Data添加多个对象的问题(Swift)

时间:2016-06-20 16:34:47

标签: ios xcode swift core-data

概述

我继续遇到向我的Core Data实体添加多个值的问题。我需要做的只是将文本字段中的6个字符串值项添加到Core Data中。我的代码的具体例子/批评将非常感激,因为我正在接近这个问题的精神崩溃。

问题

我第一次运行它时,我通过仅将第一行(产品名称)保存到核心数据然后将其打印出来进行测试。它工作得很完美。之后,我为所有这些尝试了相同的方法,然后尝试打印。我的程序会在“entity1.setValue(three,forKey:”serialNo“)旁边设置一个断点。”

我还在调试器区域中收到一条消息(lldb)。 如果我尝试逐步执行断点,那么所有内容都会打印为'nil'。

CODE

@IBAction func saveButton(sender: AnyObject) {
    let appDel: AppDelegate = (UIApplication.sharedApplication().delegate as! AppDelegate)
    let context:NSManagedObjectContext = appDel.managedObjectContext
    let entity1 = NSEntityDescription.insertNewObjectForEntityForName("UsedInfo", inManagedObjectContext:context) as NSManagedObject
    let one = pickerTextField.text
    let two = modelName.text
    let three = serialNo.text
    let four = YOM.text
    let five = engineHours.text
    let six = locationOfMachine.text

    entity1.setValue(one, forKey: "product")
    entity1.setValue(two, forKey:"modelName")
    entity1.setValue(three, forKey:"serialNo")
    entity1.setValue(four, forKey:"yom")
    entity1.setValue(five, forKey:"engineHours")
    entity1.setValue(six, forKey:"location")
    print(entity1.valueForKey("product"))
    print(entity1.valueForKey("modelName"))
    print(entity1.valueForKey("serialNo"))
    print(entity1.valueForKey("yom"))
    print(entity1.valueForKey("engineHours"))


    do {
        try context.save()
    }
    catch {
        print("error")
    }


}

0 个答案:

没有答案