【问题标题】:macOS Core Data – are toOne new records automatically assigned to the toMany Object the moment they are created?macOS Core Data – toOne 新记录是否在创建时自动分配给 toMany 对象?
【发布时间】:2019-12-28 16:03:55
【问题描述】:

我有两个核心数据实体:Category 和 Music。

Category 具有toMany 关系。 Music 具有 toOne 关系。

每个实体在单独的表格中显示它们的值。 表格由独立的NSArrayControllers 填充。

我在它的桌子上选择了一个类别。

我在MusicArrayController上的代码上通过这一行创建了一个新的Music:

let newAttribute = self.newObject() as! Music
newAttribute.label = "New Music"
self.addObject(newAttribute)

如果在那之后,我检查了我选择的最后一个类别,我看到这个新对象已经在该类别的 toMany NSSet 中。

例子:

  1. 我在类别表中选择了摇滚。
  2. 表 2 显示了该类别下的音乐。
  3. 我添加了新音乐。
  4. 摇滚乐类别已经在其toManyNSSet 上列出了新音乐。

我没有添加任何代码来完成这项任务。

这是 Core Data 的正常行为吗?

【问题讨论】:

    标签: macos core-data nstableview nsarraycontroller


    【解决方案1】:

    阵列控制器显示和管理Category 的Music 对象。当 Music 对象与 self.addObject(newAttribute) 添加时,数组控制器会将 Music 对象添加到关系中。这是正常的NSArrayController 行为,无论有无Core Data。

    【讨论】:

    • 太棒了。我从来不知道。谢谢。它是如何知道要添加对象关系的,这很神奇,因为我有两个数组控制器。
    猜你喜欢
    • 2019-09-17
    • 1970-01-01
    • 2015-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-23
    • 1970-01-01
    相关资源
    最近更新 更多