如何控制字典或plist項目迭代的順序?如何控制從plist項目創建的字典的迭代順序?
我有一個plist 65項。每個項目是一個包含三個項目的詞典,一個數字(索引)以及兩個圖像名稱的字符串。 plist中看起來是這樣的:
<key>Item 1</key>
<dict>
<key>index</key>
<integer>0</integer>
<key>thumb</key>
<string>001_item01.png</string>
<key>pdf</key>
<string>001_item01</string>
</dict>
<key>Item 2</key>
<dict>
<key>index</key>
<integer>1</integer>
<key>thumb</key>
<string>002_item02.png</string>
<key>pdf</key>
<string>002_item02</string>
</dict>
等等...
我可以建立從作爲下面的plist字典,但我還沒有想出如何確定順序。我需要按照項目編號或索引順序拖動每個項目。
NSDictionary * myDict = [[NSDictionary alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Items" ofType:@"plist"]];
事實上,當我重複,順序是隨機看似:
for(id key in myDict)
NSLog(@"key=%@ value=%@", key, [myDict objectForKey:key]);
2013-04-27 18:12:52.576 dicTest[47865:c07] 007_item07.png
2013-04-27 18:12:52.577 dicTest[47865:c07] 052_item52.png
2013-04-27 18:12:52.577 dicTest[47865:c07] 045_item45.png
2013-04-27 18:12:52.577 dicTest[47865:c07] 038_item38.png
2013-04-27 18:12:52.578 dicTest[47865:c07] 010_item10.png
2013-04-27 18:12:52.578 dicTest[47865:c07] 008_item08.png
2013-04-27 18:12:52.578 dicTest[47865:c07] 046_item46.png
2013-04-27 18:12:52.579 dicTest[47865:c07] 009_item09.png
試圖抓住爲了項目(字典)基於索引:
NSDictionary * dictionary = [myDict objectForKey:[myDict.allKeys objectAtIndex:i]];
謝謝,是的,我明白了。我想我可以很容易地弄清楚如何實現你的第一個建議,這很好,但我試圖弄清楚如何使用每個子字典項目的索引項來確定順序。有沒有簡單的方法來解釋?看到我的問題底部我正在使用的代碼,但顯然不工作。 – Mrwolfy 2013-04-27 11:43:27
@Mrwolfy:查看更新。 – 2013-04-27 11:56:22
sortedArrayUsingComparator – Mrwolfy 2013-04-27 12:15:59