我很难按照我想要的顺序将标题(部分)放在分组表视图中,这不是数字或字母顺序。
以前我总是通过设置这样的字典和数组将数据添加到我的表视图中:
NSMutableDictionary *temp = [[NSMutableDictionary alloc] init];
[temp setObject: AlphaData forKey:@"Alpha"];
[temp setObject: BetaData forKey:@"Beta"];
[temp setObject: CharlieData forKey:@"Charlie"];
self.tableContents = temp;
[temp release];
self.sortedKeys = [[self.tableContents allKeys]
sortedArrayUsingSelector:@selector(compare:)];
其中AlphaData
是一个数组。
然后在设置表视图时使用字典和数组。
但是现在我想按顺序推荐Beta,Alpha,Charlie部分。
现在我知道我的问题是因为self.tableContents
是NSMutableDictionary
因此它没有排序或索引,我可以看到:
for (id key in temp) {
NSLog(@"key: %@, value: %@", key, [temp objectForKey:key]);
}
返回:Charlie,Beta,Alpha。 (假设那是相当随机的,如果没有排序的话)
因此删除sortedArrayUsingSelector:@selector(compare:)];
将无法获得所需的结果。
我已经忘记了我曾经尝试过的东西,因为我一直在摆弄和试验以及许多错误而不是真正的理解,但它包括改变:
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
return [self.sortedKeys objectAtIndex:section];
}
不知道从哪里开始。
答案 0 :(得分:0)
好的,我现在感觉有点傻了:
[sortedKeys addObject: @"Beta"];
[sortedKeys addObject: @"Alpha"];
[sortedKeys addObject: @"Charlie"];
我现在需要的工作。
道歉。