/ / najkrótszy sposób na przekazanie listy BOOL do metody w celu-c? - cel-c, nsarray, boolean

najkrótszy sposób przekazania listy BOOL-ów do metody w cel-c? - cel-c, nsarray, boolean

Jaki jest najkrótszy sposób na przekazanie listy BOOL do metody w celu-c? (tj. bez konieczności konfigurowania wpisów w tablicy NSArray przy użyciu NSNumber do ich zawijania).

Tło: chcę wywoływać metodę testową wiele razy w teście jednostkowym, więc chcę skrócić sposób skutecznego powiedzenia:

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

W metodzie odbierającej „CompareWithBools” mogę wstawić wiersze kodu, aby ponownie wykonać masaż, aby móc porównać, jednak po prostu chciałem mieć ładną krótką linię w testach, które mogę wywołać ...

Odpowiedzi:

1 dla odpowiedzi № 1

Pomiń NSNumber opakowanie z makrem?

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

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

4 dla odpowiedzi nr 2

takie podejście jest dość łatwe

- (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 dla odpowiedzi nr 3

Podaj liczbę całkowitą i porównaj oddzielne bity tej liczby całkowitej:

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