通过自定义迁移删除coredata对象

时间:2020-11-02 12:45:47

标签: ios core-data

我正在尝试通过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.,

1 个答案:

答案 0 :(得分:0)

我能够解决来自coredatabase save操作错误的问题,该错误表明文件是只读的,这迫使我考虑了这一点,并且在更早的时候我使用manager.sourceContext删除了coredatabase对象。我觉得,coredata在映射过程中故意将其保持为只读状态,因此我决定使用manager.destinationContext删除对象,并且效果很好。伙计们,请随时提出您的建议,对我来说很好。