我正在尝试在Mac OS X Leopard应用中迁移Core Data SQLite商店。迁移本身很简单,模型版本之间只有一些变化,而且有一个自定义NSEntityMigrationPolicy
可以进行一些字符串操作。
99%的时间,这完美无缺。但是,偶尔会在EXC_BAD_ACCESS
下的objc_assign_strongCast
内与migrateStoreFromURL:
type:
options:
withMappingModel:
toDestinationURL:
destinationType:
destinationOptions:
error:
崩溃。
此时,我的自定义迁移策略尚未被调用,因此我认为这不会导致它。我还检查了我的映射模型文件,并且一切似乎都很好。
踢球者是如果我只是尝试再次迁移同一个文件 ,它通常可以正常工作。我不知道从哪里开始调试这个,所以欢迎任何指针!
答案 0 :(得分:2)
在与DTS交谈后,结果发现 是Mac OS X 10.6上Core Data中的一个错误。
解决方法:确保您没有将nil
错误传递给migrateStoreFromURL: type: options: withMappingModel: toDestinationURL: destinationType: destinationOptions: error:
。这应该是允许的,但在这种情况下会导致崩溃。
答案 1 :(得分:0)
两件事:
我注意到围绕“自动”迁移出现了很多问题,让我严重停顿。解决这些问题的唯一方法是确保Apple知道每一个。