Я получил пару словарей в списке свойств, которые составляют систему меню для моей игры, как так:iPhone - NSDictionary к NSArray с сохранением порядка
New game
Easy
Normal
Hard
Load game
Recent
Older
Options
Game
Sound
и т.д .. Каждый элемент в этом Список - это словарь.
Я использую UINavigationController и UITableViews для отображения этой системы меню. Когда элемент выбран, новый UITableViewController помещается в UINavigationController вместе с элементами этого выбранного элемента. Для exmaple первый UITableView содержит «Новая игра», «Загрузить игру» и «Параметры» в словаре. Если пользователь выбирает параметры, создается новый UITableViewController с элементами «Игра» и «Звук» (т. Е. Словарь «Опции»).
Я заселить UITableView таким образом:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] init] autorelease];
}
// Set up the cell...
cell.text = [[[data keyEnumerator] allObjects] objectAtIndex:indexPath.row];
// Data is the dictionary..
return cell;
}
Но, видимо, что приводит к тому, элементы не входят в том же порядке, как они определены в списке свойств.
Кто-нибудь знает, как сохранить заказ при выполнении того, что я пытаюсь сделать?
Спасибо.
Но действительно, дайте каждому контроллеру вида отдельный NSArray с соответствующими параметрами. Не используйте вложенный словарь –
Спасибо. То, что я закончил, - это набор словарей. В каждом словаре есть поле заголовка и поле опций, где параметры - это новый массив с большим количеством этих словарей. – quano