我正在尝试通过coredata自定义迁移从coredata删除对象。我在以下方法中尝试过。它总是会因错误而失败。
performCustomValidationForEntityMapping
- (BOOL)endEntityMapping:(NSEntityMapping *)mapping manager:(NSMigrationManager *)manager error:(NSError **)error
- (BOOL)beginEntityMapping:(NSEntityMapping *)mapping manager:(NSMigrationManager *)manager error:(NSError **)error
错误:
Error Domain=NSCocoaErrorDomain Code=513 "The file couldn’t be saved because you don’t have permission." UserInfo={NSPersistentStoreOptions={
NSReadOnlyPersistentStoreOption = 1;
}, reason=Unable to write to file opened Read Only.,
答案 0 :(得分:0)
我能够解决来自coredatabase save
操作错误的问题,该错误表明文件是只读的,这迫使我考虑了这一点,并且在更早的时候我使用manager.sourceContext
删除了coredatabase对象。我觉得,coredata在映射过程中故意将其保持为只读状态,因此我决定使用manager.destinationContext
删除对象,并且效果很好。伙计们,请随时提出您的建议,对我来说很好。