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

ios – 如何根据条件创建UITableView单元格?,第1张

概述假设我的UITableView中有八个单元格,但我想只显示满足特定条件的单元格.我已经完成了 this并将我的numberOfRowsInSection实现为: - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{int i = 0;for (A2OActivityC 假设我的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;}

因此,这将完全返回符合条件的单元格数量以及我在tablevIEw中想要的单元格数量.我想知道如何在tablevIEw中实现它.例如,八个单元格中有五个符合条件,因此返回的行数将为五.但我只希望显示这五个细胞,并且在这些细胞之间没有空白细胞.所以,如果细胞是这样的:

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

你可能已经猜到我在桌子上只想要A,B,D,F和H,它们之间没有空单元格.如果不能在cellForRowAtIndexPath中使用if(activityCounter.startDate!= nil),因为如果条件不为真,我会返回什么,该方法要求我返回(UItableVIEwCell *),所以我可以;甚至返回nil .
有人可以帮我这个,谢谢!

解决方法 你正在以错误的方式思考这个问题.您有一组数据活动计数器,以及要显示的数据的子集.因此,您应该有另一个实例变量,例如displayedActivityCounters,它是当前实际显示的已过滤内容列表.

现在,您的所有表方法仅使用displayedActivityCounters.

更改过滤条件后,您将从activityCounters生成新版本的displayedActivityCounters并重新加载表.

总结

以上是内存溢出为你收集整理的ios – 如何根据条件创建UITableView单元格?全部内容,希望文章能够帮你解决ios – 如何根据条件创建UITableView单元格?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1062281.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存