/ / il modo più breve per passare una lista di BOOL a un metodo in ogg-c? - obiettivo-c, nsarray, booleano

il modo più breve per passare una lista di BOOL ad un metodo in ogg-c? - obiettivo-c, nsarray, booleano

Qual è il modo più breve per passare un elenco di BOOL a un metodo in ogg-c? (cioè senza dover impostare le voci in un NSArray usando NSNumber per racchiuderle).

Background: Voglio chiamare un metodo di prova molte volte in un test unitario, quindi voglio un modo stenografico per dire in modo efficace:

[myCustomObject compareWithBools:[TRUE, FALSE, TRUE, TRUE, TRUE]]

Nel metodo di ricezione "compareWithBools" posso inserire le righe di codice per tornare indietro per poter confrontare, tuttavia volevo solo una bella linea breve all'interno dei test che posso chiamare ...

risposte:

1 per risposta № 1

Salta il NSNumber wrapper con una macro?

#define Greg_BOOLFromNSString(s) ([(s) isEqualToString:@"YES"])

[myCustomObject compareWithStrings:[NSArray arrayWithObjects:@"YES", @"NO", @"YES", @"YES", @"YES", nil]];

4 per risposta № 2

questo approccio è abbastanza facile

- (NSComparisonResult)compareWithBools:(BOOL*)bools /* << a pointer to an array of BOOLs, which is owned by the caller */
count:(NSUInteger)count; /* << the number of elements in @a bools */

2 per risposta № 3

Passa un numero intero e confronta i bit separati di tale intero:

[myCustomObject compareWithBools:13]; // which will be a sequence of 1011