如何防止在UITableView中显示没有行的部分?

时间:2010-01-30 00:18:19

标签: iphone uitableview

嘿。我是iPhone开发的新手。我正在进行项目,我必须在tableview中按字母顺序生成部分。我不想显示那些没有任何行的部分。我的行值是在运行时生成的,并不是静态的,所以至少给我看一个可以帮助我的代码片段....

2 个答案:

答案 0 :(得分:1)

您无法使用API​​隐藏部分。相反,您必须创建包含项目的那些部分的数组。像这样:

NSArray *items = ...;
NSMutableArray *sectionHeaders = [[NSMutableArray alloc] initWithCapacity:100];
unichar currentChar = 0, lastChar = 0;

for (NSString *item in items) {
    currentChar = [item characterAtIndex:0];

    if (currentChar != lastChar) {
        lastChar = currentChar;
        [sectionHeaders addObject:[NSString initWithCharacters:&currentChar length:1]];
    }
}

答案 1 :(得分:0)

循环浏览以添加行时,请跟踪当前部分。当前部分与行中的部分不同时,在添加行之前添加新部分。