在我的代码中,不应该在UITableView上向用户显示某些单元格
所以我的dataSource会提供对象,但我想检查我的cellForRowAtIndexPaht
是否隐藏了单元格,如果是,则实际上什么都不返回。
因此,细胞的高度将为零,但更重要的是,我想保存我的功能整个细胞的构建。
我试图返回零,但唉,它崩溃了。
答案 0 :(得分:2)
数据源应该返回表中的实际内容。
您可以轻松创建一个新数组来保存您想要显示的数据,并省略您不想看到的数据(将其保存在主数据源中)。然后,当表视图中的某些行能够被看到时,将它们添加到表数据数组中,并使用UITableView的insertRows方法来动画查看新发布的数据。
答案 1 :(得分:1)
您可以将逻辑移到用于创建UITableView的numberOfSections
或numberOfRowsInSection
方法吗?基本上,无论您使用什么逻辑尝试为这些单元格返回null,都可以移入UITableView类中的numberOfRowsInSection
方法,并仅返回可见(非隐藏)单元格的数量。
然后,您必须配置cellForRowAtIndexPath
方法,通过计算可见行数而不是将数据从数组中拉出来,从数据源中分发单元格。
我不认为你会想要一个期待对象的程序'没有'。
链接到UITableView的Apple参考文档,numberOfSections和numberOfRowsInSections可以很容易地用于逻辑修改表格视图中显示的数据量。