gpt4 book ai didi

ios - 为什么 UIKit 方法不使用 NS_REQUIRES_SUPER?

转载 作者:技术小花猫 更新时间:2023-10-29 10:40:19 25 4
gpt4 key购买 nike

许多 UIKit 类可以被子类化,但文档要求某些方法,如果被覆盖,必须确保仍然调用 super。例如:

-[UIViewController viewWillAppear:]
-[UITableViewCell didTransitionToState:]
<every method UIPercentDrivenInteractiveTransition declares>

为什么 Apple 选择不附加 NS_REQUIRES_SUPER这些方法的声明,因为它们确实“需要 super ”?我的第一个想法是与早期版本的 clang 向后兼容,但在阅读以下 clang 文档摘录后,我认为即使这也不是问题:

Note that on both OS X and iOS that the Foundation framework provides a convenience macro NS_REQUIRES_SUPER that provides syntactic sugar for this attribute:

- (void)foo NS_REQUIRES_SUPER;

This macro is conditionally defined depending on the compiler's support for this attribute. If the compiler does not support the attribute the macro expands to nothing.

最佳答案

因为它是一个相对较新的注解,人们还没有完成将它应用到(巨大的)api 的工作。

关于ios - 为什么 UIKit 方法不使用 NS_REQUIRES_SUPER?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25729785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com