Я получаю сообщение об ошибке при сохранении моего основного контекста данных, вот журнал:
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
в свойстве и никогда retain
. productList
- это объект, который может содержать много объектов product
.
I am способен создавать новые объекты (NSManagedObject
), но когда дело доходит до их удаления, я получаю упомянутую выше ошибку. При запуске приложения в симуляторе я внимательно слежу за файлом sqlite. после попытки удаления объекта (код выше), я замечаю, что файл .sqlite удален.
Я создал несколько приложений iphone Core Data без проблем, но у меня, похоже, проблема. я не верю, что я делаю что-то необычное, но, возможно, мне не хватает маленькой детали, но я не знаю, что!
Почему мой .sqlite файл удаляется и в результате появляется это сообщение об ошибке при сохранении?
Как я могу найти более полезное сообщение об ошибке, чтобы определить причину этой ошибки?