кратчайший способ передать список BOOL в метод в target-c? - PullRequest
0 голосов
/ 28 апреля 2011

Какой самый короткий способ передать список BOOL методу в target-c? (т.е. без необходимости создавать записи в NSArray, используя NSNumber для их обертывания).

Справочная информация: я хочу многократно вызывать метод тестирования в модульном тесте, поэтому хочу краткий способ эффективно сказать:

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

В получающем методе «CompareWithBools» я могу вставить строки кода, чтобы сделать массаж, чтобы иметь возможность сравнивать, однако просто хотел получить хорошую короткую строку в тестах, которые я могу вызвать ...

Ответы [ 3 ]

4 голосов
/ 28 апреля 2011

этот подход довольно прост

- (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 голосов
/ 28 апреля 2011

Передайте целое число и сравните отдельные биты этого целого:

[myCustomObject compareWithBools:13]; // which will be a sequence of 1011
1 голос
/ 28 апреля 2011

Пропустить NSNumber оболочку с макросом?

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

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