0

我试图为recordingStatus分配一个值-即recordingStatus = 1但它没有进入我想要一些自定义代码的setter..我的代码有什么问题?

谢谢。

码头。

在文件.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; 
}
4

2 回答 2

4

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

覆盖设置器和获取器

对于吸气剂,您不需要在方法签名中写“get”。因此,您的 getter 方法使用了错误的名称。如果你想覆盖它,方法应该是

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

ints 的情况下,Objective-c 希望以以下格式查看您的 setter 和 getter 方法

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

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

recordingStatus = 1

而是试试这个:

self.recordingStatus = 1
于 2012-11-19T08:21:17.357 回答