长时间运行

时间:2014-04-11 00:07:41

标签: ios objective-c uitableview

所以我运行的是在tableview中使用的代码,因此它会被反复调用。我注意到很多内存正在BOOL中占用,而且扩展= [......  我怎样才能改善这个?

 - (NSIndexPath *)correspondingIndexPathForSubRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSInteger index = 0;
    NSInteger row = 0;
    NSInteger subrow = 0;

    while (1) {

        NSIndexPath *tempIndexPath = [self correspondingIndexPathForRowAtIndexPath:[NSIndexPath indexPathForRow:index inSection:indexPath.section]];
        BOOL isExpanded = [[self.expandableCells allKeys] containsObject:tempIndexPath] ? [[self.expandableCells objectForKey:tempIndexPath] boolValue] : NO;

        if (isExpanded) {

            NSInteger numberOfExpandedRows = [_SKSTableViewDelegate tableView:self numberOfSubRowsAtIndexPath:tempIndexPath];

            if ((indexPath.row - index) <= numberOfExpandedRows) {
                subrow = indexPath.row - index;
                break;
            }

            index += (numberOfExpandedRows + 1);

        } else
            index++;

        row++;
    }

    return [NSIndexPath indexPathForSubRow:subrow inRow:row inSection:indexPath.section];
}

0 个答案:

没有答案