MagicalRecordで奇妙な問題が発生しています。削除は保持されません。削除すると、NSFetchedResultsControllerDelegateはオブジェクトが削除されたことを正しく認識します。ただし、アプリを閉じて再度開くと、エンティティが再表示されます。
エンティティを削除するために使用しているコードは次のとおりです。
ActivityType *activityType = [_fetchedResultsController objectAtIndexPath:indexPath];
[activityType deleteInContext:[NSManagedObjectContext MR_defaultContext]];
[[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];
NSFetchedResultsControllerの設定に使用しているコードは次のとおりです。
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"ActivityType" inManagedObjectContext:[NSManagedObjectContext defaultContext]];
[fetchRequest setEntity:entity];
NSSortDescriptor *sort = [[NSSortDescriptor alloc]
initWithKey:@"name" ascending:YES];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]];
NSFetchedResultsController *theFetchedResultsController =
[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
managedObjectContext:[NSManagedObjectContext defaultContext] sectionNameKeyPath:nil
cacheName:@"activityTypes"];
_fetchedResultsController = theFetchedResultsController;
_fetchedResultsController.delegate = self;
他のSOの投稿に基づいて[NSManagedObjectContext rootSavingContext]
、セットアップと削除の両方で使用しようとしました(ただし、役に立ちませんでした)。