/ / най-кратък начин да предадете списък на BOOL на метод в цел-в? - цел-c, nsarray, boolean

най-краткия начин да преминете списък на BOOL към метод в цел-c? - цел-c, nsarray, boolean

Какъв е най-краткият начин да предадете списък на BOOL на метод в цел-c? (т.е. без да е необходимо да създавате записи в NSArray, като използвате NSNumber, за да ги обвиете).

Предистория: Искам да се обадя на тестов метод многократно в единичен тест, така че искам кратък начин да кажа:

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

В метода за получаване "compareWithBools" мога да слагам линиите на код за масаж назад, за да мога да сравнявам, но просто исках хубава къса линия в тестовете, които мога да нарека ...

Отговори:

1 за отговор № 1

Пропуснете NSNumber обвивка с макро?

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

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

4 за отговор № 2

този подход е сравнително лесен

- (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 за отговор № 3

Преминете цяло число и сравнете отделни битове от това цяло число:

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