メモ代わり。てきとーに。 いや、ですからてきとーですって。 2年前ぐらいにPythonあたりでメールくれた方、ごめんなさい。メール紛失してしまい無視した形になってしまいました。。。

2012年6月27日水曜日

[Objective-C][お勉強][メモ] インスタンス変数の参照

レシーバが持つインスタンス変数への参照
インスタンス変数の名前そのままでアクセス可能。

- (void)setA:(BOOL)b
{
   a = b;
}
レシーバが保持しているインスタンス変数aへアクセス


レシーバ以外が所有するインスタンス変数への参照
レシーバ以外が所有するインスタンス変数の場合、そのオブジェクトを静的に型定義しなければならない。静的に型定義したオブジェクトのインスタンス変数への参照は構造体ポインタ演算子(->)を使う。

@interface ObjA
{
  ObjB *objB;
}
@interface ObjB
{
@public
  BOOL a;
}

@implementation ObjA
- (void)methodA:(BOOL)b
{
   objB->a = b;
}

もちろん、そのインスタンス変数が有効範囲にあることが前提。

0 コメント: