我在tableview中显示文件。在cellForRowAtIndexPath中,我想只显示某些类型的文件。
我正在做这样的事情:
if (document is folder) {
display folder details;
}
else (document is not folder) {
display empty cell;
}
通过这样做,我可以显示空单元格,但那些仍然存在(隐藏)如何摆脱这些行。有关详细信息,请参阅图片。
答案 0 :(得分:2)
我认为您应该重新考虑这个问题,永远不应该为不存在的单元格调用cellForRowAtIndexPath:
。确定数据集中可用的文件夹数量,并在tableView:numberOfRowsInSection:
然后,您无需担心在达到cellForRowAtIndexPath:
后隐藏它,因为它是应该创建的真实单元格。
答案 1 :(得分:1)
要“隐藏”单元格,首先需要创建一个仅包含文件夹的数组。你不是真的要隐藏单元格,而只是在表数据源数组中包含正确的对象。
在viewDidLoad
中,迭代整个文档数组并将任何文件夹添加到单独的folderArray中,如下所示:
_folderArray = [NSMutableArray new];
for(Document *doc in documentsArray)
{
if(doc is a folder)
{
[_folderArray addObject:doc];
}
}
在你的所有tableView委托&中使用该folderArray;数据源方法而不是documentsArray。