我试图为录音状态分配一个值 -即录制状态 = 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