私はxCode6 Beta 3を使用していますが、以前に正常にコンパイルされたコード(xCode 5.1.1またはxCode6 beta 2)が突然私に与え始めた問題に直面しています"Use of undeclared identifier" errors自動合成されたインスタンス変数にアクセスする場合:
- (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にアンダースコア表記を使用した自動プロパティ合成を使用させる方法はありますか?
最初はベータ版のバグだと思っていましたが、今日はこの種のエラーがXCode 6 GM Seedでも発生することがわかりました。
とにかく、修正は@implementationブロックに合成ステートメントを追加し、ivarの名前とプロパティを明示的に宣言することです。
@synthesize property = _property
明示的なgetterがある場合、自動プロパティ合成はignoredになります。
次に、@synthesize property = _property
を使用する必要があります
ポッド更新
これで、このバグを修正した3.7.1に更新できます。