1

コアデータとNSFetchedResultsControllerでUICollectionViewを使用しています。

セルが選択されたら、コレクションビューの上部にある別のセクションに移動します。問題は、セクションがまだ追加されていない可能性があることです。基本的に、セルを新しいセクションに移動する前に、セルが選択されたときに新しいセクションを追加する必要があります。

下記参照 -

ここに画像の説明を入力してください

これは可能ですか?

4

1 に答える 1

1

あなたがこれを間違った方法で行っているように見えます。もし私があなたなら、オブジェクトを削除してから、正しいセクションキーを使用して再挿入しようとします。

したがって、NSManagedObjectのセクションキーが1の場合、オブジェクトを削除する間、オブジェクトの値をローカルに保存する必要があります。次に、保存された値を使用して新しいレコードを作成し、セクションキーを0に更新できます。

これにより、古いセルが削除され、新しいセクションに新しいセルが挿入されます。

下記参照 -

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
    NSManagedObject *obj = [_fetchedResultsController objectAtIndexPath:indexPath];

    NSString *name = obj.name;

    [self.managedObjectContext deleteObject:task];

    NSError *error = nil;
    [self.managedObjectContext save:&error];

    NSManagedObject *newObj = [NSEntityDescription insertNewObjectForEntityForName:@"entityName" inManagedObjectContext:self.managedObjectContext];


    [newObj setValue:name forKey:@"name"];

    [self.managedObjectContext newObj];

    error = nil;
    [self.managedObjectContext save:&error];
}
于 2013-01-23T14:37:06.840 に答える