Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IOS-如何将来自多个文本字段输入的数据同时存储到CoreData中_Ios_Swift_Xcode_Core Data_Entity - Fatal编程技术网

IOS-如何将来自多个文本字段输入的数据同时存储到CoreData中

IOS-如何将来自多个文本字段输入的数据同时存储到CoreData中,ios,swift,xcode,core-data,entity,Ios,Swift,Xcode,Core Data,Entity,我有一个名为Contacts的实体,我想在其中存储两个人的姓名和号码 我的viewController中有四个文本字段(textField1、textField2、textField3、textField4)。在文本字段1和2中,将输入第一个人的姓名和号码,在文本字段3和4中,将输入第二个人的姓名和号码。现在,当我单击saveButton时,在所有四个文本字段中输入的数据应该存储到名为“Contacts”的实体中。也就是说,两个人的姓名和号码应该存储到实体中 使用以下代码,它单独存储在textF

我有一个名为Contacts的实体,我想在其中存储两个人的姓名和号码

我的viewController中有四个文本字段(
textField1、textField2、textField3、textField4
)。在文本字段1和2中,将输入第一个人的姓名和号码,在文本字段3和4中,将输入第二个人的姓名和号码。现在,当我单击saveButton时,在所有四个文本字段中输入的数据应该存储到名为“Contacts”的实体中。也就是说,两个人的姓名和号码应该存储到实体中

使用以下代码,它单独存储在
textField3
textField4
中输入的数据

@IBAction func saveButton(_ sender: Any)
{
    let appDelegate = UIApplication.shared.delegate as! AppDelegate

    let context = appDelegate.persistentContainer.viewContext

    let phoneContactsObject = NSEntityDescription.insertNewObject(forEntityName: "Contacts", into: context)


    phoneContactsObject.setValue(textField1.text, forKey: "name")
    phoneContactsObject.setValue(textField2.text, forKey: "number")

    phoneContactsObject.setValue(textField3.text, forKey: "name")
    phoneContactsObject.setValue(textField4.text, forKey: "number")

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

    }

}
单击saveButton时,如何将在所有四个文本字段中输入的数据同时存储到实体中


使用Xcode 8.2、Swift 3.0,您将在同一实体上两次设置名称和编号的值。第二次执行此操作时,将删除第一次设置的值。换句话说,name和number一次只能包含一个值

最好的解决方案取决于数据模型的外观。解决问题的第一个尝试是创建第二个联系人实体phoneContactsObject2,并将其名称和编号设置为文本字段3和4的值。这将把名称和数字集都保存到核心数据中


除此之外,您还应该考虑这些联系人是如何相互关联的,以及模型中的任何其他实体。 这是CoreData的唯一方法吗?如果同时存储5个人的姓名和号码,我需要创建5个实体!!。我可以使用firebase实现这一点吗?为什么要担心存储5个实体?把一个人看作一个实体。如果你想储存5个人,你需要5个实体。谢谢你的想法。你应该始终使用唯一的密钥名。