.h ファイルにプライベート ivar をリストする Apple クラスをサブクラス化する場合、サブクラスの実装からアクセスできるようにするために、サブクラス .m ファイル内のクラス拡張 @interface で独自のサブクラスでそれらの ivar を再宣言しても問題ありませんか?
2 に答える
3
私は自分自身と完全に一致する答えをここで見つけました:http://lists.apple.com/archives/cocoa-dev/2007/Feb/msg00939.html
彼らが @protected ではなく @private にした場合、それには理由があると想定する必要があります。もちろん、その理由は単に、@private しない正当な理由がわかるまで、すべてを @private にするのが賢明だということかもしれません...
とはいえ、技術的に可能であっても、直接アクセスすることは間違いなく問題ありません。
安全な方法は、スーパークラスのメンテナにパブリック/保護されたインターフェースで必要な機能を公開するよう請願しながら、独自のクラスですべてをやり直すことです。
于 2013-06-19T09:33:05.917 に答える