你是不是很善良帮我解决这个问题: 我必须使用单元格填充tableView,并且我还有一个带有对象的数组来填充单元格。 问题是 - 如果对象不符合某些条件,如何跳过创建单元格?我的意思是如何编写类似的东西:
- (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if(objectIsOk) {
//create cell
}
else {
//do nothing
}
return cell;
注意:我没有对该对象数组的访问权限,它为每个indexPath.row动态地提供了一个对象
答案 0 :(得分:2)
我不确定你的意思是“跳过创建一个单元格”。您的表视图数据源是 required ,以便为每个cellForRowAtIndexPath:
调用返回一个单元格,对于您所说的表格将包含的每个部分中的每一行,都会调用该单元格。
如果你想返回一个空白单元格,为什么不做这样的事情:
- (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = nil;
if (objectIsOk) {
// Create normal cell
} else {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"BlankCell"];
}
return cell;
}
您还可以在heightForRowAtIndexPath:
委托方法中返回零高度,使其看起来不存在,如下所示:
- (CGFloat)tableView:(UITableView *)aTableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (objectIsOk) {
return 44.0f;
} else {
return 0.0f;
}
}