gpt4 book ai didi

Objective-C 子类化和 future 兼容性

转载 作者:太空狗 更新时间:2023-10-30 04:01:10 25 4
gpt4 key购买 nike

Objective-C 支持子类化和类别,允许您向现有类添加方法。这是我的案例。

// Made at earlier than iOS 5.x
@interface MyVC : UIViewController
- (void)childViewControllers;
@end

iOS 5.0之前没有childViewControllers方法。我可以毫无顾虑地添加方法。但是现在 UIViewController 有一个名称为的方法。如果我构建为 iOS 4.x 编写的遗留代码,该方法将被覆盖并且会产生不可预知的结果。

是否有任何技术可以防止我的代码出现此类问题?这可能发生在类别或(可能)其他事情上。

最佳答案

一种选择是为所有方法名称添加前缀。在您扩展标准框架类时随时执行此操作。

由于没有像 Java 中那样的 namespace ,因此将相同的技术用于类名以避免将来可能发生的冲突。

这是另一个需要考虑的想法。这种情况多久发生一次?您需要权衡必须通过返回并重命名您的方法并更新受影响的代码来处理罕见的名称冲突与必须提出前缀命名方案并每天一遍又一遍地键入这些额外字符的工作量。

关于Objective-C 子类化和 future 兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13553305/

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