たとえば、テキストを垂直方向に揃えるためにUILabel
呼び出されるメソッドまたはプロパティをサブクラス化して追加しました。
また、将来、SDK または iOS の次のバージョンで同じ名前のメソッドまたはプロパティが追加された場合、アプリがクラッシュしたり、予期しない動作をしたりする可能性があります。-verticalTextAlignment
※この問題は、サブクラス化ではなくカテゴリを使用しても発生します。
Question1
Objective-C でこの種の偶発的なオーバーライドを回避するにはどうすればよいですか?
のようにすべてのメソッドとプロパティにプレフィックスを付けることで、これを回避できると思います-XXX_verticalTextAlignment
。でも現実的じゃないですよね?
質問
2 この種の偶発的なオーバーライドは、コンパイル時、または iOS SDK、OSX SDK、または XCode を更新するときに発生することを知っています。
しかし、iPhone の iOS バージョンをアップデートしたときにも起こる可能性はありますか?
たとえば、アプリが iOS5 では正常に動作するが、iOS6 での誤ったオーバーライドのために iOS6 では動作しない可能性はありますか?