我在一些iPhone示例中看到,属性在变量前面使用了下划线_。有人知道这意味着什么吗?或如何运作?
我正在使用的接口(interface)文件如下所示:
@interface MissionCell : UITableViewCell {
Mission *_mission;
UILabel *_missionName;
}
@property (nonatomic, retain) UILabel *missionName;
- (Mission *)mission;
我不确定上面的功能到底是什么,但是当我尝试将任务名称设置为:
aMission.missionName = missionName;
我得到错误:
最佳答案
如果您为下划线使用下划线前缀(仅是一个通用约定,而是一个有用的约定),则您需要多做一件事情,以便自动生成的访问器(针对该属性)知道要使用哪个ivar。具体来说,在您的实现文件中,您的synthesize
应该如下所示:
@synthesize missionName = _missionName;
更一般而言,这是:
@synthesize propertyName = _ivarName;