NSArray многих NSDictionary. Как лучше всего найти NSDictionary с необходимым значением для данного ключа?

Теперь я пробую следующее, и оно работает.


    - (void)findDictionaryWithValueForKey:(NSString *)name {

         for (NSDictionary * set in myArray) {

            if ([[set objectForKey:@"title"] isEqualToString:name]) 
               \\do something

         }

    }

РЕДАКТИРОВАТЬ: Я добавил один дополнительный аргумент к сообщению bshirley . Теперь он выглядит более гибким.



- (NSDictionary *)findDictionaryWithValue:(NSString*)name forKey:(NSString *)key {

    __block BOOL found = NO;
    __block NSDictionary *dict = nil;

    [self.cardSetsArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
        dict = (NSDictionary *)obj;
        NSString *title = [dict valueForKey:key];
        if ([title isEqualToString:name]) {
            found = YES;
            *stop = YES;
        }
    }];

    if (found) {
        return dict;
    } else {
        return nil;
    }

}
6
задан Michael 8 July 2011 в 15:57
поделиться

0 ответов