2010-10-10 59 views
1

我有一個簡單的問題。我如何搜索NSMutable Dictionary? 例如。我有這樣一個字典:如何搜索NSMutableDictionary

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

現在我想搜索所有內容(值),其主要的出發以字母「A」,意味着我要搜索「蘋果,飛機和Android」。我知道如何搜索數組而不是Dictionary。請幫助我。

+0

您不能將多個對象在一個關鍵。看起來你現在正在做的事情是不可能的。 (除非你的字典包含數組,但在這種情況下,我不明白你的問題是關於什麼。) – 2010-10-10 12:42:39

+0

點擊「刪除」。 – 2010-10-10 12:42:56

+0

@Georg,是的,你是對的......但現在我改變了這個問題。請現在看看。 – Developer 2010-10-10 12:45:29

回答

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 2010-10-10 13:23:40

+0

完美:-) +1對於那個 – PeterK 2012-08-18 23:16:08

1

嗯,我不認爲有一個內置的方法。

嘗試:

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

嘿添你是對的。你應該看到Kenny給出的上述答案。它的工作非常適合我..感謝您的考慮。 – Developer 2010-10-10 13:31:30