Неразрешенная ошибка основных данных при сохранении

Я получаю сообщение об ошибке при сохранении основного контекста данных, вот журнал:

Unresolved error Error Domain=NSCocoaErrorDomain Code=134030 "The operation couldn’t be completed. (Cocoa error 134030.)" UserInfo=0x1937a0 {NSAffectedStoresErrorKey=(
    "<NSSQLCore: 0x156410>"
), NSUnderlyingError=0x181a60 "The operation couldn’t be completed. (Cocoa error 4.)", NSFilePath=/var/mobile/Applications/appid/Documents/appname.sqlite}, {
    NSAffectedStoresErrorKey =     (
        "<NSSQLCore: 0x156410>"
    );
    NSFilePath = "/var/mobile/Applications/appid/Documents/appname.sqlite";
    NSUnderlyingError = "Error Domain=NSCocoaErrorDomain Code=4 \"The operation couldn\U2019t be completed. (Cocoa error 4.)\" UserInfo=0x181a30 {NSUnderlyingError=0x108ab0 \"The operation couldn\U2019t be completed. No such file or directory\"}";
}

Я получаю эту ошибку после удаления и удаления объекта:

[productList removeMProductObject:product];
[[delegate managedObjectContext] deleteObject:product];
[delegate saveContext];

Я также отметил, что я также получаю сообщение об ошибке для следующих сценариев (отладка):

1.
    [productList removeMProductObject:product];
    [delegate saveContext];

2.
    [[delegate managedObjectContext] deleteObject:product];
    [delegate saveContext];

3.
    [[delegate managedObjectContext] deleteObject:product];
    [productList removeMProductObject:product];
    [delegate saveContext];

4.
    [[delegate managedObjectContext] deleteObject:product];
    [delegate saveContext];//error
    [productList removeMProductObject:product];
    [delegate saveContext];

5.
    [productList removeMProductObject:product];
    [delegate saveContext];//error
    [[delegate managedObjectContext] deleteObject:product];
    [delegate saveContext];

Иногда я могу передать либо productList , либо объект product ( оба типа NSManagedObject ) для других контроллеров, всегда используя assign в свойстве и никогда не сохраняя . productList - это объект, который может содержать множество объектов product .

Я могу создавать новые объекты ( NSManagedObject ), но когда дело доходит до их удаления, я получаю указанную выше ошибку. При запуске приложения в симуляторе я внимательно слежу за файлом sqlite. после попытки удалить объект (код выше) я замечаю, что файл .sqlite был удален.

Я без проблем создал несколько приложений Core Data для iphone, но, похоже, здесь у меня проблема. Я не верю, что делаю что-то необычное, но, возможно, я упускаю небольшую деталь, но я не знаю что!

Почему мой файл .sqlite удаляется, и при сохранении появляется это сообщение об ошибке?

Как найти более полезное сообщение об ошибке, чтобы определить причину этой ошибки?

11
задан james 18 August 2011 в 15:34
поделиться