如果前一部分折叠且有0行,如何获取当前部分的索引路径行

时间:2014-11-20 04:41:43

标签: ios

我正在使用TLIndexPathCollapsible。 链接:https://github.com/wtmoose/TLIndexPathTools

现在我有2个部分(A和B),每个部分有3行(a b c)。如果我扩展A和B并使用它:

NSInteger rowNumber = 0;

for (NSInteger i = 0; i < indexPath.section; i++) {
    rowNumber += [self tableView:tableView numberOfRowsInSection:i];
    NSLog(@"number: %ld",(long)rowNumber);
    NSLog(@"rows in previous section %ld",(long)[tableView numberOfRowsInSection:i]);

}

rowNumber += indexPath.row;

有效。

但是,当我折叠A部分并点击(B部分a行)时。因为前一部分(部分A)已折叠且因此没有行,所以它返回0。 我正在使用一个数组来存储。 如何遍历A部分和+ 1以获得indexPath.row = 3?

1 个答案:

答案 0 :(得分:0)

TLIPT的想法是使用TLIndexPathDataModel来存储数据项,然后使用TLIndexPathDataModel API可以轻松地将indexPaths转换为数据项,反之亦然。因此,如果您正在使用TLCollapsibleTableViewController,则可以执行以下操作:

id myDataItem = [self.indexPathController.dataModel itemAtIndexPath:indexPath];

如果需要在外部数组中找到索引,则可以执行以下操作:

NSInteger index = [myArray indexOfObject:myDataItem];