gpt4 book ai didi

ios - 如何根据条件创建 UITableView 单元格?

转载 作者:可可西里 更新时间:2023-11-01 05:33:06 24 4
gpt4 key购买 nike

假设我的 UITableView 中有八个单元格,但我只想显示满足特定条件的那些单元格。我经历了this并将我的 numberOfRowsInSection 实现为:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
int i = 0;
for (A2OActivityCounter *ac in activityCounters) {
if(ac.startDate != nil) {
i++;
}
}
if (i == 0) {
return 1;
}
return i;
}

因此这将准确返回符合条件的单元格数量以及我希望在我的表格 View 中显示的一次。我想知道如何在我的 tableview 中实现它。例如,八个单元格中有五个满足条件,因此返回的行数将为五。但我只希望显示这五个单元格,并且这些单元格之间没有空白单元格。所以如果细胞是这样的:

A - 满足条件
B - 满足条件
C - **不**满足条件
D——满足条件
E - **不**满足条件
F——满足条件
G - **不**满足条件
H - 满足条件

正如您可能已经猜到的那样,我的表格中只需要 A、B、D、F 和 H,它们之间没有空单元格。如果不能只在 cellForRowAtIndexPath 中使用 if (activityCounter.startDate != nil),因为如果条件不是 true,我会返回什么>,该方法要求我返回 (UITableViewCell *),所以我什至不能返回 nil。有人可以帮我解决这个问题吗,谢谢!

最佳答案

您以错误的方式思考问题。您有一组数据 activityCounters,以及您希望显示的数据子集。因此,您应该有另一个实例变量,如 displayedActivityCounters,它是当前实际显示的经过过滤的内容列表。

现在,您所有的表方法都只使用 displayedActivityCounters

当您更改过滤条件时,您会从 activityCounters 生成新版本的 displayedActivityCounters 并重新加载表格。

关于ios - 如何根据条件创建 UITableView 单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36355120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com