我正在研究一个tableview,它在单元格中显示多行文本。我想要有两个部分,我已经完成了。但是可以在第二部分显示另一个数组,不一样吗? Ť
这是我使用的代码:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (section == 0) {
return MIN([titles count], [subtitles count]);
}
else {
return 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]);
}