Ho una domanda, ecco il codice:operatore freccia in Objective-C
@interface MyFoo : NSObject {
NSString *nameStr;
}
@end
@implementation MyFoo
- (id)init {
self = [super init];
if (self) {
self->nameStr = [@"some value of the string that is set right into the private ivar" copy];
}
return self;
}
@end
La domanda è: ignorando tutte le regole del C++, ignorando la vulnerabilità dump di memoria, perché esattamente non dovrei utilizzare tale operatore freccia sintassi? C'è da qualche parte nella documentazione Apple una regola che dice che non è corretta perché in futuro la classe può essere rappresentata in modo diverso da un puntatore a una struttura in runtime, ecc.?
Grazie in anticipo!
grazie mille per una risposta! È solo una questione di stile allora –
È una questione di stile quando si usa 'self'. È richiesto quando si accede a ivars di un'istanza di oggetto diversa da "self". – rmaddy
Sì, lo è! A molte persone piace anche sottolineare le variabili ivar, per distinguere gli ivar. –