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

标签 ios swift xcode core-data entity

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

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

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

@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/

相关文章:

ios - Swift iOS 8.1 中的 UUID

ios - pod update 没有获得最新版本的 pod

ios - 如何使父 View 自动调整大小并与其 subview 协调?

ios - 函数签名特化在 swift 中崩溃

ios - 当我使用 UITableViewCell 来自定义每个单元格内容时,在 Swift4 中滚动后屏幕布局被破坏

arrays - Swift,处理数组和数据类型(从字符串中拆分字符串)

swift - 照片框架 : contentMode within RequestImageForAsset method

iphone - 解析问题预期标识符

iphone - 我应该什么时候 promise ?

vb.net - XCode Cocoa 问题(VB.NET 到 Cocoa)