在 iOS 和 Cocoa Touch 中,有时我们似乎可以不调用 super,例如:
-(void) viewDidAppear:(BOOL)animated {
// nothing weird if the following is not called:
// [super viewDidAppear: animated]
// but the docs says we should call it
}
而且我认为对于 drawRect
,我们通常不会向 super
发送相同的消息,除非 super
正在绘制它的一些内容自己的。我们是否应该始终发送 super
相同的消息只是为了在 Cocoa Touch 和 iOS 中是安全的,并且在某些情况下,不是不发送 super
相同的消息?
最佳答案
没有通用规则,它始终取决于您继承的类和您覆盖的方法。 NSObject 是(现代)Objective-C 中类层次结构的根,显然它没有实现您看到和使用的大多数方法,因此作为一般规则,总是调用 super 是没有意义的。
您只需分别查看每种方法的文档。
关于objective-c - 在 iOS 和 Cocoa Touch 上,我们是否应该假设我们应该始终发送 "super"相同的消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10846069/