as variables @Instance con guión bajo en Objective-C 2.0 y el cambio de nombre con @synthetize llevan a advertencias de optimización mediante la herramienta 'Analizar' de Xcode 4 [duplicado]
Posible duplicado:
¿Cómo funciona un guión bajo frente a una variable en una clase de cacao objetivo-c?
Estoy usando la misma convención para nombrar variables y propiedades, como se muestra por sebnow en su siguiente respuesta:
nombre de argumento de variable / método de instancia en el objetivo C
Copio y pego su código de ejemplo aquí:
@interface Foo : NSObject {
id _bar;
}
@property (nonatomic, retain) id bar;
- (id) initWithBar:(id)aBar;
@end
@implementation Foo
@synthesize bar = _bar;
- (id) initWithBar:(id)aBar {
self = [super init];
if(self != nil) {
_bar = aBar;
}
return self;
}
@end
En la implementación de algunos métodos de la clase Foo, utilizo por ejemplo:
_bar = aBar
En lugar de usar
bar = aBar
La herramienta 'Analizar' introducida por Xcode 4 me da esta advertencia (estoy usando la versión 4.0.2):
a variable @Instance 'bar' en la clase 'Foo' nunca es utilizada por los métodos en su @implementation (aunque puede usarse por métodos de categoría)
Quizás debería usar:
self.bar = aBar
Pero para las propiedades de solo lectura, eso no puede funcionar, y además de eso, no estoy seguro de si usar el setter en la clase en sí es una buena práctica o no.
No estoy fresco en Objective-C, pero todavía estoy en el comienzo del aprendizaje. Quizás estoy haciendo algo mal y tengo una mala práctica de codificación en alguna parte.
Gracias de antemano si puedes ayudarme;)