我有一个名为Contacts的实体,我想在其中存储两个人的姓名和人数。
我的viewController(textField1,textField2,textField3,textField4
)中有四个textField。在textField 1和2中,将输入第一人的姓名和号码,在textField 3和4中,将输入第二人的姓名和号码。现在,当我单击saveButton时,在所有四个textField中输入的数据应存储在名为' 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的同时将所有四个textField中输入的数据存储到实体中。
使用Xcode 8.2,Swift 3.0
答案 0 :(得分:0)
您在同一实体上设置名称和数字的值两次。第二次执行此操作时,您将清除第一次设置的值。换句话说,名称和数字一次只能包含一个值。
最佳解决方案取决于您的数据模型。解决问题的第一个尝试是创建第二个Contacts实体phoneContactsObject2,并将其名称和编号设置为文本字段3和4的值。这样可以将两组名称和数字保存到Core Data。
除此之外,您应该考虑这些联系人如何相互关联以及模型中的任何其他实体。