0

セルの並べ替え時に iOS UITableView が編集モードで動かなくなる

[編集] をクリックすると編集モードが正しく開始され、[完了] をクリックすると編集モードが正しく終了します。

しかし、セルをドラッグして並べ替えると、テーブルが編集モードで動かなくなります。添付を参照してください。それを回避する唯一の方法は、アプリを強制終了することです。

これは iOS 6 および 7 で発生しています。

任意の提案をいただければ幸いです。

    - (IBAction)editAction:(id)sender
        {
                [self.tableView setEditing:YES animated:YES];
        }
    - (IBAction)doneAction:(id)sender
{
                [self.tableView setEditing:NO animated:YES];
}
    - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
        {
            return YES;
        }
        - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath
        {
            self.fetchedResultsController.delegate = nil;

            NSMutableArray *objects = [[self.fetchedResultsController fetchedObjects] mutableCopy];

            id object = [self.fetchedResultsController objectAtIndexPath:fromIndexPath];

            [objects removeObject:object];
            [objects insertObject:object atIndex:[toIndexPath row]];
            int i = 0;
            for (NSManagedObject *mo in objects) [mo setValue:[NSNumber numberWithInt:i++] forKey:@"displayOrder"];
            objects = nil;


            [[self currentManagedObjectContext] MR_saveToPersistentStoreAndWait];

            self.fetchedResultsController.delegate = self;

            [[self fetchedResultsController] performFetch:nil];
        }

ここに画像の説明を入力

4

1 に答える 1

0

この問題の解決策を使用して、問題を修正しました。

CoreData レコードの並べ替えを実装する方法は?

于 2013-10-11T17:36:51.093 に答える