Swift CoreData,通过多对多关系保存数据

时间:2017-05-23 05:02:51

标签: ios core-data swift3

任何或所有, 我正在寻找有关Swift CoreData的一些功能的帮助,特别是在将数据保存到两个具有“多对多”关系的实体时。

我搜索了这个网站,并且还参加了三个不同的uDemy课程,但我正在努力制作我正在用于教育工作的应用程序。

我建立了关系...... ChildEntity - toParent& ParentEntity - toChild ......这两个都是“to Many”

我将数据保存到CoreData的功能只是保存子项,而不是父项,更具体地说,不是将父项链接到子项。

我知道关系(toParent)是NSSet类型,但显然,这是不可变的。我在控制台中没有出错。

我的印象是你可以使用关系名称保存数据并将数据链接到不同的实体,即toParent,但同样,很难看到如何通过关系保存父项的每个属性和值对。

@IBAction func saveChild(_ sender: UIBarButtonItem) {

let child = ChildEntity(context: moc)

    if let firstName = txtFirstNameChild.text {
        child.firstName = firstName
    }

    if let lastName = txtLastNameChild.text {
        child.lastName = lastName
    }

    child.toParent?.setValue(txtFirstNameMum.text!, forKey: "firstNameMum")
    child.toParent?.setValue(txtMobileMum.text!, forKey: “mobileMum")
    child.toParent?.setValue(txtFirstNameDad.text!, forKey: "firstNameDad”)
    child.toParent?.setValue(txtMobileDad.text!, forKey: “mobileDad”)

    ad.saveContext()
}

由于这是我的第一个在线问题,如果您需要更多信息来解释我的问题,请告诉我。感谢

1 个答案:

答案 0 :(得分:1)

您需要创建父对象或将现有对象指定为父对象,它不会自动存在。