1

我在表格视图中显示文件。在 cellForRowAtIndexPath 中,我只想显示某些类型的文件。

我正在做这样的事情:

    if (document is folder) {
       display folder details;
    } 
    else (document is not folder) {
       display empty cell;
     }

通过这样做,我可以显示空单元格,但那些仍然存在(隐藏)如何摆脱这些行。有关详细信息,请参见图片。

在此处输入图像描述

4

2 回答 2

2

我认为你应该重新考虑这个问题,cellForRowAtIndexPath:永远不应该为一个不存在的单元格调用。确定您的数据集中有多少文件夹可用,并在tableView:numberOfRowsInSection:

然后您不必担心一旦cellForRowAtIndexPath:到达就隐藏它,因为它是应该创建的真实单元格。

于 2013-01-21T21:15:54.133 回答
1

要“隐藏”单元格,您需要首先创建一个仅包含文件夹的数组。您并不是真的要隐藏单元格,而是只在表数据源数组中包含正确的对象。

在您的viewDidLoad, 遍历整个文档数组并将任何文件夹添加到单独的 folderArray 中,如下所示:

_folderArray = [NSMutableArray new];
for(Document *doc in documentsArray)
{
    if(doc is a folder)
    {
        [_folderArray addObject:doc];
    }
}

在您的所有 tableView 委托和数据源方法中使用该文件夹数组,而不是使用文档数组。

于 2013-01-21T21:15:06.020 回答