Objective-C支持子类化和类别,允许您将方法添加到现有类中。这是我的情况。Objective-C子类化和将来的兼容性
// Made at earlier than iOS 5.x
@interface MyVC : UIViewController
- (void)childViewControllers;
@end
在iOS 5.0之前没有childViewControllers
方法。我可以毫无顾虑地添加该方法。但现在UIViewController
有一个名字的方法。如果我构建为iOS 4.x编写的遗留代码,则该方法将被覆盖,并且会产生不可预知的结果。
是否有任何技术来防御这类问题的代码?这可以发生在类别或(可能)其他东西。
你可以检查是否UIViewController中实现它,如果这样称呼超级 – DanZimm
我就主要讲述名称冲突......甚至,该方法具有相同的名称,它的功能可以完全不同。 – Eonil
啊疑难杂症,我是假设的方法会做同样的事情 – DanZimm