当我访问实体关系中的属性时,我无法弄清楚为什么 Core Data 没有触发错误?
我有一种感觉,原因可能是我将 NSManagedObjects 子类化的方式,就像这样:
NSManagedObject
|
MYManagedObject (NSNumber *id)
|
MYSimpleManagedObject (NSString *name)
|
Employee
\
Manager
和
NSManagedObject
|
MYManagedObject (NSNumber *id)
|
MYSimpleManagedObject (NSString *name)
|
Manager
\
Employee
在上面的场景中,Employee 和 Manager 都是其他几个类的子类,它们本身不是我的数据模型中的实体,而是我用来封装代码和属性的常规类,例如许多常见的 id 和 name实体。这个模型对我来说效果很好,但是我的问题是以下语句不会触发错误manager.employee.name
但是,如果相反,我使用[manager valueForKeyPath:@"employee.name"]
故障被触发,我得到了我需要的值。
我是否需要覆盖任何访问器方法或其他东西才能使值触发错误?