0

我有一个UICollectionView我正在填充一个嵌套数组来帮助我在我的 UICollectionView 中创建部分。我用来填充我的最终数组UICollectionView看起来像这样,每个嵌套数组代表我视图中的不同部分:

 Array
    Array
       Dictionary
          txt
          utc
          ...
       Dictionary
          txt
          utc
          ...
    Array
       Dictionary
          txt
          utc
          ...

我希望用户能够根据 txt(或字典的其他元素)过滤集合视图,然后使用- (void)insertItemsAtIndexPaths:(NSArray *)indexPaths;or为视图中的更改设置动画- (void)deleteItemsAtIndexPaths:(NSArray *)indexPaths;

我需要帮助的地方

我一直在尝试为我上面提到的方法创建NSArrayNSIndexSets需要的方法。似乎indexesOfObjectsPassingTestNSIndexSets涉及,但我无法让它正常工作,我能找到的任何示例通常只针对单个数组(如何使用 NSPredicate 检索 NSArray 的索引?),我无法调整用于我的目的的代码。

任何帮助的代码将不胜感激。提前致谢。

4

1 回答 1

0

我可以通过嵌套 for 循环来创建 NSArray(我对此并不感到兴奋),但它确实有效。如果您有任何更有效的方法来创建数组,请告诉我!

NSMutableArray *arrayOfIndexes = [[NSMutableArray alloc]init];

    for (int i = 0; i < [finalCellData count]; i++) {

        for (int ii = 0; ii < [[finalCellData objectAtIndex:i] count]; ii++) {

            if (![[[[finalCellData objectAtIndex:i]objectAtIndex:ii]valueForKey:@"txt"] isEqualToString:@""]) {

                NSIndexPath *indexPath = [NSIndexPath indexPathForRow:ii inSection:i];
                [arrayOfIndexes addObject:indexPath];
            }
        }
    }
于 2014-09-04T18:40:22.887 回答