我尝试使用映射模型迁移核心数据模型。它似乎找到了映射模型并且实际上在迁移中相当远,但我不确定。然而,最终它失败了一般错误,我不知道实际上出了什么问题。
我错过了the log中错误的原因,如果是,原因是什么?
答案 0 :(得分:1)
您的验证失败。你可能已经想到了,核心数据
FourToFive.cdm
稍后它失败了。错误不是通用的 - 它们非常具体。它们看起来都像这样(为了便于阅读):
"Error Domain=NSCocoaErrorDomain Code=1570 \"The operation couldn\U2019t be completed.
(Cocoa error 1570.)\" UserInfo=0x10a747bb0 {NSValidationErrorKey=startDate,
NSLocalizedDescription=The operation couldn\U2019t be completed. (Cocoa error 1570.),
NSValidationErrorObject=<NSManagedObject: 0x10a7380f0> (entity: TimeEntry; id:
0xd00000000008000e <x-coredata://FB4CCC6C-6EB7-44DB-A3F2-F64E23C64827/TimeEntry/p2> ;
data: <fault>)}",
这就是说
NSValidationErrorKey
和NSValidationErrorObject
)TimeEntry
实体startDate
属性引起的。1570
,NSValidationMissingMandatoryPropertyError
(请参阅文档中的Core Data Constants Reference)。所以:TimeEntry
的新版本似乎有一个名为startDate
的非可选属性,但在五种情况下,您似乎正在迁移该属性的nil值。对此的简单修复包括使属性可选或在数据模型中设置默认值。但是你不能添加强制属性,也不能为它分配一些值。
还有一条关于Failed to delete support directory for store
的消息,我并不完全理解。迁移过程在建议之后继续进行,这不是你的问题,而且无论如何你的错误不会直接源于此。