iOS Setter Getter



我试图为录音状态分配一个值 -即录制状态 = 1但它不会进入我想要一些自定义代码的设置器。我的代码有什么问题?

谢谢。

码头。

在文件.h 中

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

在文件.m 中

/* -------------------- Property Setter and Getters ----------------------*/
@synthesize recordingStatus;
- (int) getRecordingStatus {
    return recordingStatus;
}
- (void) setRecordingStatus:(int)status 
{
[_recordingStatusText setText: @"Just testing!"];
recordingStatus = status; 
}

要设置和获取您的属性,您应该使用 self.property = newValue; .

覆盖二传手和吸盘手

对于 getter,您不需要在方法签名中写入"get"。因此,您的 getter 方法使用了错误的名称。如果要重写它,该方法应为

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

int s 的情况下,Objective-c 希望以

-(void)setValue:(int)newValue;
-(int)value;

你能显示你调用setter的代码吗?我假设您通过执行以下操作直接访问 ivar(假设您的 ivar 名为 recordingStatus):

recordingStatus = 1

相反,请尝试以下操作:

self.recordingStatus = 1