如何强制调用 [super methodName...]
在重写的方法中?
除了在评论中指出之外,还有其他方法,也许是一个技巧吗?
最佳答案
您可以使用 objc_required_super
attribute 标记该方法:
- (void)foo __attribute__((objc_requires_super));
这样,如果用户不调用 super
,编译器就会发出警告。但除了这个警告之外,没有办法真正执行它。
据我所知,只有在 dealloc
中(使用 ARC 时)编译器才会强制调用 super
。它通过禁止您自己调用它来实现这一点,因此它始终可以安全地注入(inject) super
调用。
关于ios - 如何在重写方法中强制调用 super,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28982741/