私の.hインターフェースでは:
@property (nonatomic, strong) UIView *myView;
私の.mで:
- (void)setMyView:(UIView *)aView {
_myView = aView; //Use of undeclared identifier "_myView"
}
エラーの理由
私の.hインターフェースでは:
@property (nonatomic, strong) UIView *myView;
私の.mで:
- (void)setMyView:(UIView *)aView {
_myView = aView; //Use of undeclared identifier "_myView"
}
エラーの理由
ヘッダー ファイルでプロパティmyView
を宣言するだけでは、 というインスタンス変数は作成されません_myView
。追加する必要があるのは、 の上にある次のとおり@implementation
です。
@interface ClassName ()
{
UIView *_myView;
}
これは、他のクラスに知らせずにインスタンス変数とプロパティを追加できるようにするクラス拡張です。次に、まだ持っていない場合は、合成行を の下に追加します@implementation
。
@synthesize myView = _myView;
synthesize コマンドは、_myView インスタンス変数にリンクされたゲッター メソッドとセッター メソッドを作成します。これにより、ゲッター メソッドを実装しなくても、カスタム セッターを実装することもできます。
お役に立てれば!