2010-10-10 4 views
1

У меня есть простой вопрос. Как я могу искать словарь NSMutable? Для примера. У меня есть словарь, как это:Как найти NSMutableDictionary

 A1: Apple 
     B1: Banana 
     C1: Cat 
     D1: Dog 
     A2: Aeroplane 
     B2: Bottle 
     A3: Android 

Теперь я хочу, чтобы найти все содержимое (значения), ключ, начинающиеся с буквы «А», означает, что я хочу, чтобы искать «Apple, самолет и Android». Я знаю, как искать массив, но не словарь. Пожалуйста, помогите мне.

+0

Вы не можете назначить несколько объектов одного ключа. Похоже, то, что вы делаете в данный момент, даже не возможно. (Если ваш словарь не содержит массив, но в этом случае я не понимаю, о чем идет речь.) –

+0

Нажмите «удалить». –

+0

@Georg, Да, ты прав ... но теперь я изменил вопрос. Посмотрите его сейчас. – Developer

ответ

12
for (NSString* key in theDictionary) { 
    if ([key hasPrefix:@"A"]) { 
     // found such a key, do whatever you like e.g. 
     [theNewDictionary setObject:[theDictionary objectForKey:key] forKey:key]; 
    } 
} 
+0

Спасибо большое, что он отлично работает. Еще раз спасибо. :-) – Developer

+0

отлично :-) +1 за это – PeterK

1

Ну, я не думаю, что для этого есть встроенный метод.

Try:

NSMutableArray *results = [[[NSMutableArray alloc] init] autorelease]; 

for (NSString *key in [dictionary allKeys]) { 
    if ([[key substringToIndex:1] isEqualToString:@"A"]) { 
     [results addObject:[dictionary objectForKey:key]]; 
    } 
} 

return [results copy]; 
+0

Эй, Тим, ты прав. Вы должны увидеть приведенный выше ответ Кенни. Он отлично работает для меня .. Спасибо за ваше внимание. – Developer

Смежные вопросы