【问题标题】:Swift CoreData, saving data via a many to many relationshipSwift CoreData,通过多对多关系保存数据
【发布时间】:2017-05-23 05:02:51
【问题描述】:

对任何人或所有人, 我正在寻求有关 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()
}

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

【问题讨论】:

    标签: ios core-data swift3


    【解决方案1】:

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

    【讨论】:

    • 就像创建一个表示 ParentEntiy 的 var?然后使用我需要保存到该实体中的信息更新该变量。
    • 然后信息会通过关系链接吗?
    • 是的,所以创建一个新的父级,或者找到一个现有的父级。然后将该父级设置为子级。不确定确切的 swift 语法,但在 obj-c 中应该是 [child addParentObject:parent];
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 2018-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多