我有一个名为 Contacts 的实体,我想在其中存储两个人的姓名和电话号码。
我的 viewController 中有四个文本字段(textField1,textField2,textField3,textField4
)。在 textField 1 和 2 中,将输入第一人称的姓名和号码,在 textField 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
{
}
}
如何在单击保存按钮时同时将所有四个文本字段中输入的数据存储到实体中。
使用 Xcode 8.2、Swift 3.0
最佳答案
您在同一实体上两次设置名称和编号的值。第二次执行此操作时,您将清除第一次设置的值。换句话说,name 和 number 一次只能包含一个值。
最佳解决方案取决于您的数据模型。解决问题的第一个尝试是创建第二个联系人实体 phoneContactsObject2,并将其名称和号码设置为文本字段 3 和 4 的值。这会将两组名称和号码保存到核心数据。
除此之外,您还应该考虑这些联系人如何相互关联以及如何与您模型中的任何其他实体关联。
关于IOS - 如何将数据同时从多个文本字段输入存储到 CoreData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42299957/