Поиск двумерного массива в задаче c - PullRequest
0 голосов
/ 01 апреля 2010

Я хочу задать вопрос: как мы можем искать в листе, который имеет тип массива и также содержит элементы типа массива. Я ищу в списке, который имеет строковый тип элемента и работает нормально, но я не могу искать, если в списке есть элементы массива.

Привет!

Ответы [ 2 ]

1 голос
/ 01 апреля 2010
- (BOOL)searchArray:(NSArray *)array forObject:(id)object {
    if ([array containsObject:object]) {
        return TRUE;
    }

    for (id elem in array) {
        if ([elem isKindOfClass:[NSArray class]]) {
            if ([self searchArray:elem forObject:object]) {
                return TRUE;
            }
        }
    }
    return FALSE;
}

Будет обрабатывать двумерный массив так же, как и любую другую глубину.

0 голосов
/ 01 апреля 2010

Ваш вопрос не очень понятен, но если вы ищете способ найти объект в NSArray, содержащем NSArrays, содержащий объекты (NSStrings), вот пример:

NSArray * l20 = [NSArray arrayWithObjects:@"One", @"Two", nil];
NSArray * l21 = [NSArray arrayWithObjects:@"Three", @"Four", nil];

NSArray * ll = [NSArray arrayWithObjects:l20, l21, nil];

for(id l1obj in ll)
    for(id l2obj in l1obj)
        if([l2obj isEqualToString:@"Three"])
            NSLog(@"Found object three");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...