我正在将我的 iOS 应用程序移植到 Mac,并想设置一个 NSTreeController 来管理实体的层次结构。此层次结构中有两种不同的 NSManagedObject 类型,Group 和 Item,它们具有一对多的关系(一个 Group 对多个 Items)。但是我在设置 NSTreeController 时遇到了麻烦;我收到一条错误消息:
[<NSManagedObject 0x10029c410> valueForUndefinedKey:]: the entity Item is not key value coding-compliant for the key "items".
似乎 NSTreeController 旨在使用一种类型的 NSManagedObject 进行设置,其子对象引用自身,并且让子对象成为不同类型的对象是行不通的。这个对吗?如果是这样,我需要做些什么来纠正这个问题,同时保持新数据模型能够使用轻量级迁移从旧数据模型正确迁移?如果我确实能够使用两种不同的 NSManagedObjects 完成 NSTreeObject,我应该如何设置它?