-1

相談したいことがある。以下:</p>

クラス A は ios フレームワークからのもので、クラス A の 1 つのインスタンス変数 B は public ではありません。カテゴリ C で定義された getter メソッドを介してインスタンス変数 B にアクセスできますか?カテゴリ C はクラス A のカスタムです。</p >

例えば、クラス UIView のインスタンス変数 _viewDelegate.インスタンス変数 _viewDelegate にアクセスする UIView のカテゴリ C を作成できますか? メソッドを定義する場合 -(UIViewController*)viewDelegate カテゴリ C;

ありがとう,まず!

4

1 に答える 1

0

質問が「カテゴリを介してプライベート変数にアクセスできますか」である場合、答えは-依存します。

まず、変数を .h ファイルで定義する必要があります。

そうである場合、読み取り専用としてマークされている場合は、読み取ることしかできません。例: @property(nonatomic,readonly) somePropertyOfClassA

それ以外の場合は、@property(nonatomic) NSInteger タグなど、getter/setter を使用せずにプロパティを直接読み書きできます。

UIView _viewDelegate は @package としてマークされています。これは、メンバーが定義されているフレームワーク (ios フレームワーク) からのみメンバーにアクセスできることを意味します。

于 2013-06-12T08:56:59.993 に答える