macOS 核心数据——toOne 新记录是否在创建时自动分配给 toMany 对象?

macOS Core Data – are toOne new records automatically assigned to the toMany Object the moment they are created?

我有两个核心数据实体:CategoryMusic

CategorytoMany 关系。 MusictoOne 关系。

每个实体在单独的 table 上显示它们的值。 Table 由独立的 NSArrayControllers.

填充

我select一个类别就其table.

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

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

如果在那之后,我检查了我 select 编辑的最后一个类别,我看到这个新对象已经在类别的 toMany NSSet.

示例:

  1. 我 select 摇滚乐属于类别 table。
  2. Table 2 显示该类别下的音乐。
  3. 我添加了新音乐。
  4. 摇滚类别已经在其 toMany NSSet 中列出了新音乐。

我没有添加任何代码来完成该作业。

这是 Core Data 的正常行为吗?

阵列控制器显示和管理 CategoryMusic 个对象。当使用 self.addObject(newAttribute) 添加 Music 对象时,数组控制器会将 Music 对象添加到关系中。这是正常的 NSArrayController 行为,无论是否有核心数据。