xCode 6如何解决“使用未声明的标识符”进行自动属性综合?

我正在使用xCode6 Beta 3,并遇到以前编译好的代码(xCode 5.1.1或xCode6 beta 2)在访问自动合成的实例variables时突然开始给我“使用未声明的标识符”错误:

- (void)setFinished:(BOOL)finished { [self willChangeValueForKey:@"isFinished"]; _finished = finished; [self didChangeValueForKey:@"isFinished"]; } //ERROR: Use of undeclared identifier '_finished'; did you mean 'finished'? 

添加@synthesize finished = _finished; 使错误消失,但有没有办法强制xCode6 Beta 3使用自动属性综合使用下划线表示法?

起初我以为这是一个testing版的bug,但今天我看到,这种types的错误也发生在XCode 6 GM种子上,尽pipe我还没有发现在哪些特定情况下。

无论如何,解决的办法是在@implementation块中添加一个综合语句,显式声明伊娃的名字以及属性:

 @synthesize property = _property 

荚更新

那么你现在可以更新到3.7.1已经修复了这个错误。

如果你有一个明确的getter合成的自动属性将被忽略

那么你必须使用@synthesize property = _property