【发布时间】:2015-02-20 13:25:02
【问题描述】:
我有一个相对简单的实体。当我创建它,设置它的属性并保存它时,它保存成功。我稍后可以检索它,它不为零,我从 MagicalRecord 收到一条成功的保存消息。
当我检索它并尝试访问任何属性时,尽管该属性为零。实体本身很好,但属性全部为零。我在保存之前检查了它们是否都设置正确。
我以前没有遇到过这个问题。为什么会发生?
注意:这种情况并非每次都会发生。大多数时候我调用该方法来创建和保存这个实体,以后可以毫无问题地检索它。该问题是间歇性的,但可以在每次运行时复制。
代码:
Entity1 *entity1 = [Entity1 MR_createEntityInContext:localContext];
[entity1 setUpEntity:myobject];
EntityChild *entityChild=[EntityChild MR_createEntityInContext:localContext];
[entityChild setUpEntityChild:entity.child withContext:localContext];
[entityChild setEntity1:entity1];
[localContext MR_saveToPersistentStoreWithCompletion:^(BOOL success, NSError *error) {
}];
更新:
如果我查看 sqlite 数据库并搜索它实际上根本不存在的实体。所以 MagicalRecord 告诉我它保存了,CoreData 让我检索一个非 nil 对象(尽管具有 nil 属性)但数据库中不存在记录。
【问题讨论】:
-
请出示您的代码
-
@iCode 我添加了创建和保存实体的代码。您还需要其他代码吗?
-
你为什么说它告诉你它保存了......你的完成块是空的......你确定没有错误吗?此外,这还不够代码......细节可能很重要,你没有包括任何一个。
标签: ios objective-c core-data magicalrecord