-1

我经常使用二传手。这是我的代码:

。H:

@property (nonatomic, strong) NSDate *lastSyncDate;

米:

-(void)setLastSyncDate:(NSDate *)lastSyncDate {
    _lastSyncDate = lastSyncDate;

    //Do something
}

然后我输入了一个getter方法:

-(NSDate *)lastSyncDate {
    //Something happens
    return lastSyncDate;
}

然后_lastSyncDate标识符给出一个unidentified identifier错误。

我不确定为什么会这样?

4

1 回答 1

5

它应该是

return _lastSyncDate;

在 getter 方法中。默认情况下,合成的实例变量有一个前导下划线(并且您已经在 setter 方法中使用了它)。

此外,如果您同时提供setter 和 getter 方法,则必须显式合成属性:

@synthesize lastSyncDate = _lastSyncDate;

如果您为只读属性提供 getter,也会发生同样的情况。仅当缺少必需的访问器方法时,编译器才会合成该属性。

于 2013-07-03T11:42:34.060 回答