s variáveis @Instance com sublinhado no Objective-C 2.0 e a renomeação com @synthetize levam a avisos de otimização pela ferramenta 'Analyze' do Xcode 4 [duplicado]
Possible Duplicate:
Como funciona um sublinhado na frente de uma variável em uma classe de objetivo-c de caca
Estou usando a mesma convenção para nomear variáveis e propriedades de instância, como mostrado por sebnow em sua resposta a seguir:
omeação de argumento / método de variável / instância no Objective C
Copie e cole o código de exemplo aqui:
@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
Na implementação de alguns métodos da classe Foo, eu uso, por exemplo:
_bar = aBar
ao invés de usar
bar = aBar
A ferramenta 'Analyze', introduzida pelo Xcode 4, me dá este aviso (estou usando a versão 4.0.2):
variável @Instance 'bar' na classe 'Foo' nunca é usada pelos métodos em sua implementação @ (embora possa ser usada por métodos de categoria)
Talvez eu deva usar:
self.bar = aBar
Mas para as propriedades somente leitura, que não podem funcionar, e além disso, não tenho certeza se o uso do setter na própria classe é uma boa prática ou nã
Eu não sou novo no Objective-C, mas ainda estou no começo do aprendizado. Talvez esteja fazendo algo errado e tenha uma prática ruim de codificação em algum luga
Agradecemos antecipadamente se puder me ajudar;)