0

UICollectionViewUICollectionViewでセクションを作成するのに役立つように、ネストされた配列を入力しています。UICollectionViewネストされた各配列がビュー内の異なるセクションを表す、次のような外観を設定するために使用する最終的な配列:

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

ユーザーがtxt(または辞書の他の要素)に基づいてコレクションビューをフィルタリングし、- (void)insertItemsAtIndexPaths:(NSArray *)indexPaths;またはを使用してビューの変更をアニメーション化できるようにしたい- (void)deleteItemsAtIndexPaths:(NSArray *)indexPaths;.

助けが必要な場所

上記のメソッドに必要な をNSArray作成しようとして立ち往生しています。NSIndexSets関与しているように見えindexesOfObjectsPassingTestますNSIndexSetsが、適切に動作させることができず、見つけることができる例は通常、単一の配列のみです ( 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 に答える