Objective-C は、既存のクラスにメソッドを追加できるサブクラス化とカテゴリをサポートしています。これが私のケースです。
// Made at earlier than iOS 5.x
@interface MyVC : UIViewController
- (void)childViewControllers;
@end
childViewControllers
iOS 5.0以前はこの方法はありませんでした。気にせずにメソッドを追加できました。しかし、今UIViewController
では名前の付いたメソッドがあります。iOS 4.x 用に記述されたレガシー コードをビルドすると、メソッドがオーバーライドされ、予期しない結果が生じる可能性があります。
この種の問題からコードを守るテクニックはありますか? これは、カテゴリまたは (おそらく) 他の何かで発生する可能性があります。