UICollectionView内の場所を変更した後、セルの状態または順序をUICollectionViewに保存しようとしています。indexPathsForVisibleItemsを使用すると、常に同じ順序のインデックスが取得されます。注文の変更は反映されません。各indexPathでオブジェクトを取得できれば、少なくともオブジェクトを反復処理して、結果の順序を取得することができます。
このコードを使用しました。そして、[0,0]のindexPathsの更新された状態を返すことがわかりました。各セルにあるものではなく、どのセルに何かがあるかを教えてくれるので、順序は常に同じです。各セルのオブジェクト/アイテムの取得を開始するのに十分な場所や場所がわかりません。
NSArray *visible = [self.collectionView indexPathsForVisibleItems];
NSMutableArray *rowsArray = [NSMutableArray arrayWithCapacity:[visible count]];
[visible enumerateObjectsUsingBlock:^(NSIndexPath *indexPath, NSUInteger idx, BOOL *stop) {
[rowsArray addObject:@(indexPath.item)];
それぞれの場所にアイテムやオブジェクトが必要です。すべてのセルの場所を反復処理して、そこにあるアイテムを取得するにはどうすればよいですか。UICollectionViewにデータを入力するために使用される配列の数を使用して、すべての場所をループし、そこにオブジェクトを格納することを計画しています。セクションは1つだけで、セルにはこのようなオブジェクトが格納されているようです<Slide: 0x7585200>
上記の関数は、この形式でNSLogsを返します"<NSIndexPath 0x8490390> 2 indexes [0, 0]"
その場所にあるものを取得する必要があります。
NSIndexPathまたはそのフォーマットに精通していません。コマンド/関数だけでも、オブジェクトを取り出すのに役立ちます。ありがとう。
(補遺)[self.collectionView cellForItemAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
何に保存できるかわからないようなものを使うことを考えています。