0

recordingStatus に値を割り当てようとしました - つまり、recordingStatus = 1 しかし、カスタム コードが必要なセッターには入りません。私のコードの何が問題なのですか?

ありがとう。

橋脚。

file.h 内

@property (strong, nonatomic) IBOutlet UILabel *recordingStatusText;
@property (nonatomic)int recordingStatus;
....

file.m 内

/* -------------------- Property Setter and Getters ----------------------*/
@synthesize recordingStatus;

- (int) getRecordingStatus {
    return recordingStatus;
}

- (void) setRecordingStatus:(int)status 
{
[_recordingStatusText setText: @"Just testing!"];
recordingStatus = status; 
}
4

2 に答える 2

4

プロパティを設定および取得するには、 を使用する必要がありますself.property = newValue;

セッターとゲッターのオーバーライド

ゲッターの場合、メソッド シグネチャに 'get' を記述する必要はありません。したがって、getter メソッドは間違った名前を使用しています。それをオーバーライドしたい場合、メソッドは

-(int) recordingStatus {
    // Custom Getter Method
    return _recordingStatus;
}

sの場合int、Objective-c は、setter メソッドと getter メソッドを次の形式で表示したいと考えています。

-(void)setValue:(int)newValue;
-(int)value;
于 2012-11-19T08:33:22.983 に答える
2

セッターを呼び出すコードを表示できますか?次のような方法でivarに直接アクセスしていると仮定します(ivarの名前がrecordingStatusであると仮定します)。

recordingStatus = 1

代わりにこれを試してください:

self.recordingStatus = 1
于 2012-11-19T08:21:17.357 に答える