我有一個名爲NSMutableArray
動物。我需要創建一個NSMutableDictionary
使得動物陣列中的所有名字都Keys
與特定的第一個字母= Values
開始。NSMutableDictionary setValue:/ forKey:?
這是動物的數組:
NSMutableArray *animals = [NSMutableArray arrayWithObjects:@"Bear", @"Black Swan", @"Buffalo", @"Camel", @"Cockatoo", @"Dog", @"Donkey", @"Emu", @"Giraffe", @"Greater Rhea", @"Hippopotamus", @"Horse", @"Koala", @"Lion", @"Llama", @"Manatus", @"Meerkat", @"Panda", @"Peacock", @"Pig", @"Platypus", @"Polar Bear", @"Rhinoceros", @"Seagull", @"Tasmania Devil", @"Whale", @"Whale Shark", @"Wombat", nil];
這是我的代碼,將其設置爲MutableDictionary
:
for(NSString *str in animals) {
NSString *firstLetter = [str substringToIndex:1];
NSArray *newArr = [NSArray arrayWithObject:str];
[myMutableDictionary setValue:newArr forKey:firstLetter];
}
的問題是,每個鍵只有一個值設置,但我需要所有對象都具有相同值的第一個字母。例如。值='b' - > @「熊」,@「黑天鵝」,@「布法羅」。
只是要清楚......你只需要通過名稱的第一個字母或分組你需要在實現代碼如下類似的索引他們的第一個字母? – Alladinian
對於初學者[NSDictionary setValue:forKey]不會像你認爲的那樣工作。查看關於這個的文檔。它將爲一個關鍵字設置一個值,完全匹配該值。你將需要使用類似NSPredicate的東西來找到所有匹配的值並獲得一個子集數組,你可以將它複製到一個NSDictionary中。 –
@Alladinian像索引中的tableview – Sattar