我正在尝试使用Coredata在我的应用程序中保存我的对象,但是我遇到了崩溃这个非常令人困惑的错误:
Unresolved error Error Domain=NSCocoaErrorDomain Code=1570 "The operation couldn’t be completed. (Cocoa error 1570.)" UserInfo=0x2f8820 {NSValidationErrorObject=<ContactInfo: 0xf081140> (entity: ContactInfo; id: 0x20c0f0 <x-coredata:///ContactInfo/tDCD050E6-3BA3-47D2-A5ED-A22D53749E4B7> ; data: {
addressLine1 = nil;
addressLine2 = nil;
email = nil;
mobileNo = nil;
name = nil;
phoneNo = nil;
stateCounty = nil;
townCity = nil;
venue = nil;
zipIp = nil;
}), NSValidationErrorKey=name, NSLocalizedDescription=The operation couldn’t be completed. (Cocoa error 1570.)}, {
NSLocalizedDescription = "The operation couldn\U2019t be completed. (Cocoa error 1570.)";
NSValidationErrorKey = name;
NSValidationErrorObject = "<ContactInfo: 0xf081140> (entity: ContactInfo; id: 0x20c0f0 <x-coredata:///ContactInfo/tDCD050E6-3BA3-47D2-A5ED-A22D53749E4B7> ; data: {\n addressLine1 = nil;\n addressLine2 = nil;\n email = nil;\n mobileNo = nil;\n name = nil;\n phoneNo = nil;\n stateCounty = nil;\n townCity = nil;\n venue = nil;\n zipIp = nil;\n})";
}
ContactInfo是我核心数据模型中的一个实体,我有另一个名为VenueInfo的实体,每个对象都有一个ContactInfo对象,因为每个场所都需要联系人详细信息。如果错误消息不够,我会添加一些代码和更多细节。
答案 0 :(得分:7)
原来这一点关键信息:
NSValidationErrorKey=name
属性name
的意思,这是一个验证问题,这是因为,直到现在,我的核心数据模型中的这个属性不是可选的,如图所示返回nil导致崩溃。 / p>
通过给name
赋值或使其成为可选值来避免崩溃。