【发布时间】:2013-11-01 00:03:04
【问题描述】:
当我访问实体关系中的属性时,我无法弄清楚为什么 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"],则会触发故障,我会得到我需要的值。
我是否需要重写任何访问器方法或其他东西才能使值触发错误?
【问题讨论】:
标签: ios objective-c core-data