6

.h ファイルにプライベート ivar をリストする Apple クラスをサブクラス化する場合、サブクラスの実装からアクセスできるようにするために、サブクラス .m ファイル内のクラス拡張 @interface で独自のサブクラスでそれらの ivar を再宣言しても問題ありませんか?

4

2 に答える 2

3

私は自分自身と完全に一致する答えをここで見つけました:http://lists.apple.com/archives/cocoa-dev/2007/Feb/msg00939.html

彼らが @protected ではなく @private にした場合、それには理由があると想定する必要があります。もちろん、その理由は単に、@private しない正当な理由がわかるまで、すべてを @private にするのが賢明だということかもしれません...

とはいえ、技術的に可能であっても、直接アクセスすることは間違いなく問題ありません。

安全な方法は、スーパークラスのメンテナにパブリック/保護されたインターフェースで必要な機能を公開するよう請願しながら、独自のクラスですべてをやり直すことです。

于 2013-06-19T09:33:05.917 に答える