Как управлять порядком для итерации словаря или предметов из 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>
и так далее ...
Я могу построить словарь из списка свойств, как показано ниже, но я не понял, как определить порядок. Мне нужно вытащить каждый элемент в порядке в соответствии с номером позиции или индексом.
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
@Mrwolfy: Смотрите обновление. –
sortedArrayUsingComparator – Mrwolfy