我在属性列表中有几个字典,它们构成了我的游戏的菜单系统,如下所示:
New game
Easy
Normal
Hard
Load game
Recent
Older
Options
Game
Sound
等等。这个列表中的每个项目都是一个字典。
我使用 UINavigationController 和 UITableViews 来显示这个菜单系统。当一个项目被选中时,一个新的 UITableViewController 被推送到 UINavigationController 中,以及该项目的项目。例如,第一个 UITableView 在其字典中包含“New Game”、“Load game”和“Options”。如果用户选择选项,则使用“游戏”和“声音”项(即“选项”的字典)创建一个新的 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;
}
但显然,这会导致项目的顺序与属性列表中定义的顺序不同。
有谁知道在做我想做的事情时如何保持订单?
谢谢。