CoreData を保存しようとして問題が発生しています。以前に CoreData を使用したことがあり、通常はこれらの問題に遭遇しません。誰かが次のコードの何が問題なのか教えてもらえますか:
MapEntity *mapEntity = [_fetchedResultsController objectAtIndexPath:[NSIndexPath indexPathForItem:0 inSection:0]];
NSMutableSet *set = (NSMutableSet *)mapEntity.points;
[set removeObject:self.selectedPoint];
self.selectedPoint = nil;
[[Singleton sharedSingleton] saveContext];
取得した結果を制御して初期化するには、次を使用します。
NSEntityDescription *entity = [NSEntityDescription entityForName:@"MapEntity" inManagedObjectContext:[[Singleton sharedSingleton] managedObjectContext]];
したがって、返されるエンティティは、シングルトンで管理されているオブジェクト コンテキスト内にある必要があります。saveContext のコードは次のとおりです。
- (void)saveContext
{
NSError *error = nil;
NSManagedObjectContext *managedObjectContext = self.managedObjectContext;
if (managedObjectContext != nil) {
if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) {
NSLog(@"Unable to save context");
}
}
}
オブジェクトの削除後に mapEntity.points を確認すると、オブジェクトが削除されていることがわかります。アプリを再起動するまでオブジェクトは再表示されないため、永続性の問題である必要があります。私は完全に困惑しているので、誰でも私のコードの何が問題なのかを理解できますか。