我目前正面临使用Core Data的问题。我有两个实体A和B.一个可以有多个B,所以有一对多的关系。 dataModel和类都已正确定义并且正在运行。现在问题在于:
当我创建实体A和一些B实体并设置所有属性时,我能够存储并加载它们。关闭应用程序并加载实体A时,所有属性都设置正确,并且它仍然具有所有B实体。问题是在B实体内部,所有属性都会丢失而不会保存。保存ManagedObejctContext时不会发生错误。
我不明白为什么在应用程序启动时获取所有B,他们正在创建有关属性值的工作,并从之前的启动中获取B,导致所有属性都为null。
感谢您的想法
解: 在构建了几个新实体并搜索差异后,我发现B实体中的属性以某种方式用@synthesize和@dynamic初始化!那是问题来自
答案 0 :(得分:1)
检查以下内容:
在DataModel中,您的2个关系(A有B和B属于A)是否正确设置为反向? (AtoB与BtoA相反)
您确定它们不属于多个不同的managedObjetcContext吗?
您确定对B项进行的修改后跟[self.managedObjectContext save]
吗?