Hia,对于字符和项目有一对多的关系。一个char可以保存特定项目,其他人可以使用相同的项目。 CharInfo定义如下:
@property (nonatomic, retain) ItemInfo * slotEar;
CharInfo.slotEar是对该项目的引用。它是可选的,最小计数1,最大计数1和删除规则Nulify。 ItemInfo定义为:
@property (nonatomic, retain) NSSet* slotEar;
ItemInfo.slotEar是对char的引用。它是可选的,一对多并删除规则Nulify。
他们互相引用。 还有一个可以处理数据的附加类。它确实保留了引用并提供它用于存储。
ItemInfo *slotEar;
在保存之前创建CharInfo:
当我保存CharInfo时,我在aproviate槽中设置了ItemInfo(来自我的结构)。
CharInfo *charInfo = [NSEntityDescription
insertNewObjectForEntityForName:@"CharInfo"
inManagedObjectContext:managedObjectContext];
charInfo.slotEar = currentChar.slotEar;
保存上下文有效。
当我尝试从商店加载CharInfo时,它从现在起大部分时间都在工作。重新启动后,他确实在这条线上崩溃了。
curentChar.slotEar = charInfo.slotEar;
如果没有项目参考(零)那么一切都很好。
不幸的是,崩溃更加停顿。没有给出错误,他只是停在调试器中的那一行,链接旁边的绿色描述说:EXC_BAD_ACCESS
似乎我保存的引用或我尝试将它从CharInfo带到我的类的方式有问题。有什么想法吗?
添加了截图:
答案 0 :(得分:0)
核心数据或工人类ivars没有错误,但是带有6个int的int数组填充了100个整数。