40 votes

xCode 6 comment réparer "Utilisation de l'identifiant non déclaré" pour la synthèse automatique de propriétés?

J'utilise xCode6 Bêta 3 et je rencontre un problème lorsqu'un code précédemment compilé correctement (xCode 5.1.1 ou xCode6 beta 2) a soudainement commencé à me donner des erreurs "Utilisation d'identificateur non déclaré" lors de l'accès à une variable d'instance synthétisée automatiquement :

 - (void)setFinished:(BOOL)finished {
    [self willChangeValueForKey:@"isFinished"];
    _finished = finished;
    [self didChangeValueForKey:@"isFinished"];
}

//ERROR:
 Use of undeclared identifier '_finished'; did you mean 'finished'?
 

L'ajout de @synthesize finished = _finished; élimine l'erreur, mais existe-t-il un moyen de forcer xCode6 Beta 3 à utiliser la synthèse automatique des propriétés à l'aide de la notation de soulignement?

40voto

drowntoge Points 545

Au début, j’imaginais qu’il s’agissait d’un bogue de la version bêta, mais aujourd’hui, j’ai constaté que ce type d’erreurs se produisait également sur le XCode 6 GM Seed, bien que je n’ai pas encore découvert dans quels cas particuliers.

Quoi qu'il en soit, le correctif consiste à ajouter une instruction de synthèse dans le bloc @implementation, en déclarant explicitement le nom de l'ivar ainsi que la propriété:

 @synthesize property = _property
 

3voto

iWill Points 29

pod update

alors vous pouvez maintenant mettre à jour à 3.7.1 qui a corrigé ce bogue.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X