关于切割UITableView

时间:2011-04-03 11:37:22

标签: objective-c cocoa-touch uitableview

我正在研究一个tableview,它在单元格中显示多行文本。我想要有两个部分,我已经完成了。但是可以在第二部分显示另一个数组,不一样吗? Ť

这是我使用的代码:

 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
            if (section == 0) { 
            return MIN([titles count], [subtitles count]);
            }
            else {
                return 1;
            }
        }

1 个答案:

答案 0 :(得分:1)

当然你可以这样做。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    if (section == 0) { 
        return MIN([titles count], [subtitles count]);
    }
    else {
        return MIN([titles2 count], [subtitles2 count]);
    }
}

只需确保在所有UITableViewDataSource和UITableViewDelegate方法中切换数组。


但我建议使用嵌套数组。它使代码更短,因为当你有超过10个部分时,你的代码将变得冗长和丑陋。

对于嵌套数组,您只能在viewDidLoad中使用冗长的丑陋代码,或者在初始化数组时使用;

titles = [NSArray arrayWithObjects:titles0, titles1, nil];
subtitles = [NSArray arrayWithObjects:subtitles0, subtitles1, nil];

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return MIN([[titles objectAtIndex:section] count], [[subtitles objectAtIndex:section]count]);
}