ios - xCode 6 cómo solucionar "Uso del identificador no declarado" para la síntesis automática de propiedades?
compiler-errors xcode6 (3)
Estoy usando xCode6 Beta 3, y me estoy encontrando con un problema donde un código que previamente compiló bien (xCode 5.1.1 o xCode6 beta 2) de repente comenzó a darme "Uso de identificador no declarado" cuando accedía a una variable de instancia sintetizada automáticamente :
- (void)setFinished:(BOOL)finished {
[self willChangeValueForKey:@"isFinished"];
_finished = finished;
[self didChangeValueForKey:@"isFinished"];
}
//ERROR:
Use of undeclared identifier ''_finished''; did you mean ''finished''?
Añadiendo @synthesize finished = _finished;
hace desaparecer el error, pero ¿hay alguna manera de forzar a xCode6 Beta 3 a utilizar la síntesis automática de propiedades usando la notación de subrayado?
Al principio pensé que era un error de versión beta, pero hoy vi que este tipo de errores también ocurren en el XCode 6 GM Seed, aunque aún no he descubierto en qué casos particulares.
De todos modos, la solución es agregar una declaración de sintetizar en el bloque @implementation, declarando explícitamente el nombre del ivar así como la propiedad:
@synthesize property = _property
actualización de pod
entonces tu puedes ahora actualizar a 3.7.1 que ha corregido este error.
Si tiene un getter explícito, se ignorará la propiedad automática sintetizada .
Entonces tienes que usar @synthesize property = _property