0

내 CoreData를 저장하는 데 문제가 있습니다. 이전에 CoreData를 사용했으며 일반적으로 이러한 문제를 해결하지 못했습니다.CodeData 저장하지 않음

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]]; 

그래서 기업은 확실히 싱글 manabged 개체 컨텍스트에 있어야합니다 반환 . 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을 확인하세요. 내가 다시 시작할 때까지 개체가 다시 나타나지 않으므로 지속성 문제 여야합니다. 내가 완전히 당황한 것처럼 누군가 내 코드에 무엇이 잘못된 것인지를 알아낼 수 있습니까?

답변

1

문제를 해결할 수 있었지만 개체를 ​​삭제하는 방식으로 거짓말을 한 것으로 보입니다. 대신 CoreData에서 만든 일련의 삭제 기능을 사용하고 있습니다. 동일한 문제가있는 다른 모든 사용자에게 아래의 코드를 사용합니다.

MapEntity *mapEntity = [_fetchedResultsController objectAtIndexPath:[NSIndexPath indexPathForItem:0 inSection:0]]; 

    NSSet *removeSet = [NSSet setWithObject:self.selectedPoint]; 
    [mapEntity removePoints:removeSet]; 

    self.selectedPoint = nil; 
    [[Singleton sharedSingleton] saveContext];