0

我已經根據NSArray中發現的NSDictionaries的keyValue創建了NSArrays的NSDictionary。不過,我有一個問題,其中原始NSDictionary內的值都是字符串,但包含數字。將NSDictionaries的NSArray放入NSArrays的NSDictionary中

的原因,這是一個問題,因爲我分類的NSMutableArray看起來像這樣

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
... etc 

問題的存在是它就會像這樣

1 
10 
11 
12 
2 
3 
4 
5 
6 
7 
8 
9 

我想整理成NSDictionary的陣列知道如何保持在NSDictionaries的原始NSMutableArray中找到的原始順序?

這就是我如何創建數組的NSDictionary。

NSMutableDictionary *sortedDictionaryArraysForTableView = [NSMutableDictionary dictionary]; 

for (NSDictionary *dict in xmlMArray) { 
    NSString *currentNumberString = [dict objectForKey:@"Number"]; 
    if(![[sortedDictionaryArraysForTableView allKeys] containsObject:currentNumberString]) 
     sortedDictionaryArraysForTableView[currentNumberString] = [NSMutableArray array]; 
    [sortedDictionaryArraysForTableView[currentNumberString] addObject:dict]; 
} 

任何幫助,將不勝感激。

+0

NSDictionnary不與索引一起工作,因此您無法對其進行排序 – meda

+0

我看不出如何轉換爲字典會有所幫助,但是使用包含NSNumericSearch選項的排序可以幫助您進行NSString比較。 –

回答

1

NSDictionary是一個無序的集合。當您將東西存儲在字典中時,您無法保留原始訂單(或任何訂單)。對於有序集合,您需要NSArray或NSOrderedSet。

+0

我認爲這是你應該怎麼做來創建一個對象在分段UITableView中使用? – HurkNburkS

+1

不是。數組數組適用於分區表視圖,但由於字典是無序的,因此它們對存儲有序內容無用。 T(嘿可以是你顯示的數據和單個單元的不錯選擇。) –