1

在我的代码中,某些单元格不应在 UITableView 上显示给用户。
所以我的 dataSource 将提供对象,但我想检查我cellForRowAtIndexPaht的单元格是否隐藏,如果是,实际上什么都不返回。这样单元格的高度将为零,但更重要的是,我想将我的函数保存为整个单元格的构建。

我试图返回 nil,但是,它崩溃了。

4

2 回答 2

2

数据源应该返回表中的实际内容。

您可以轻松地创建一个新数组来保存您想要显示的数据,并省略您不想看到的数据(将其保存在主数据源中)。然后,当表格视图中的某些行可以看到时,将它们添加到表格数据数组中,并使用 UITableView 的 insertRows 方法以动画方式查看新显示的数据。

于 2013-02-21T20:25:30.310 回答
1

Could you move the logic up into the numberOfSections or numberOfRowsInSection methods used to create your UITableView? Basically, whatever logic you are using to try and return null for those cells could move into the numberOfRowsInSection method in the UITableView class and return only the number of visible (not hidden) cells.

Then you would have to configure your cellForRowAtIndexPath method to hand out the cells from your data source in order by counting up through your visible rows instead of just pulling them out the array.

I wouldn't think you would want to return 'nothing' to a program expecting an object.

Link to Apple Reference Docs for UITableView, the numberOfSections and numberOfRowsInSections can easily be used to logically modify the amount of data being shown in a table view.

于 2013-02-21T20:39:00.373 回答