iOS Setter Getter

时间:2012-11-19 08:16:24

标签: ios setter getter synthesize

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

感谢。

码头。

在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; 
}

2 个答案:

答案 0 :(得分:4)

要设置并获取您的媒体资源,您应该使用self.property = newValue;

覆盖设置和信件

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

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

对于int s,Objective-c希望以

的格式查看你的setter和getter方法
-(void)setValue:(int)newValue;
-(int)value;

答案 1 :(得分:2)

您可以显示调用setter的代码吗?我假设您通过这样的方式直接访问ivar(假设您的ivar名为recordingStatus):

recordingStatus = 1

而是试试这个:

self.recordingStatus = 1