我是否必须在didTurnIntoFault
内拨打超级电话?我无法在文档中找到任何指示。我是否必须在NSManagedObject didTurnIntoFault中调用super?
- (void)didTurnIntoFault {
[super didTurnIntoFault]; // Do I have to call super?
// ...
}
我是否必须在didTurnIntoFault
内拨打超级电话?我无法在文档中找到任何指示。我是否必须在NSManagedObject didTurnIntoFault中调用super?
- (void)didTurnIntoFault {
[super didTurnIntoFault]; // Do I have to call super?
// ...
}
如果您继承NSManagedObject并覆盖-didTurnIntoFault,则您需要必须将消息发送给super。
查看NSManagedObject类引用的Subclassing Notes。
不,我不这么认为。 didTurnIntoFault
的目的是让您有机会释放您可能持有的任何实例变量(特别是对于瞬态值)。虽然它旨在用作dealloc
替代NSManagedObject
子类,但这是因为NSManagedObject
的生命周期与普通的NSObject
完全不同。所以,尽管它的用途与dealloc
的用途大致相同,但其工作方式并不相同。
当然,如果您继承自己的子类NSManagedObject
,那么您需要在那里调用[super didTurnIntoFault]
。
这就是说,我会想像NSManagedObject
的实现可能是没有任何操作的,所以我真诚地怀疑无论如何调用它是有害的。此外,因为它没有任何伤害,所以它可能会帮助你记住在真正重要的时候调用它。
我同意你的意见。我问的原因是为了安全起见。 – cocoafan 2009-06-19 18:34:16