objective c - Utilizzando una proprietà BOOL




objective-c ios (2)

Apple consiglia per scopi stilistici.Se si scrive questo codice:

@property (nonatomic,assign) BOOL working;

Quindi non è possibile utilizzare [object isWorking].
Mostrerà un errore. Ma se usi sotto il codice significa

@property (assign,getter=isWorking) BOOL working;

Quindi puoi usare [object isWorking].

Apple consiglia di dichiarare una proprietà BOOL in questo modo:

@property (nonatomic, assign, getter=isWorking) BOOL working;

Mentre sto usando le proprietà di Objective-C 2.0 e la notazione dei punti, self.working questa proprietà usando self.working . So che potrei anche usare [self isWorking] - ma non è necessario.

Quindi, visto che sto usando la notazione a punti ovunque, perché dovrei definire una proprietà extra? Sarebbe giusto scrivere semplicemente

@property (nonatomic, assign) BOOL working;

Oppure ho qualche vantaggio nel scrivere getter=isWorking nel mio caso (utilizzo della notazione dot)?

Grazie!


Apple consiglia semplicemente di dichiarare un getter isX per scopi stilistici. Non importa se si personalizza il nome getter o meno, a condizione che si utilizzi la notazione punto o la notazione del messaggio con il nome corretto. Se vuoi usare la notazione a punti non fa differenza, la accedi comunque con il nome della proprietà:

@property (nonatomic, assign) BOOL working;

[self setWorking:YES];         // Or self.working = YES;
BOOL working = [self working]; // Or = self.working;

O

@property (nonatomic, assign, getter=isWorking) BOOL working;

[self setWorking:YES];           // Or self.working = YES;, same as above
BOOL working = [self isWorking]; // Or = self.working;, also same as above




properties