加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – 儿童管理对象内容的内容与父文件的内容总是一样

发布时间:2020-12-15 01:58:10 所属栏目:百科 来源:网络整理
导读:如何更新子管理对象上下文,使其与父级具有相同的数据? 据我所知,拯救时,小孩只走一步,即父母。然而,抓取抓取时总是非常深入到父进程和持久存储中。所以我希望事情会一样。 但不是。 我有一个托管对象上下文是所有其他托管对象上下文的父对象。 一个孩
如何更新子管理对象上下文,使其与父级具有相同的数据?

据我所知,拯救时,小孩只走一步,即父母。然而,抓取抓取时总是非常深入到父进程和持久存储中。所以我希望事情会一样。

但不是。

我有一个托管对象上下文是所有其他托管对象上下文的父对象。

一个孩子更改数据并保存。父母也改变了。我在parent上执行FetchRequest,我看到数据发生变化。

然而,父母的一些孩子仍然使用旧的数据。相同的对象id相同的数据。不知何故,物业的价值保持不变。

如何告诉孩子从父母重新载入新鲜的数据?

更精确

说P是父母

说C1 C2 C3是孩子

然后C1更改数据并提交。该更改传播到P.然而,在C2和C3执行executeFetchRequest仍然显示旧的数据。

是什么赋予了?

例如,当我检查imageBlob属性,这是我得到的:

儿童:

2013-02-05 13:57:42.865 BadgerNew[78801:c07] imageBlob: <UIImage: 0x89c3c50>
2013-02-05 13:57:42.866 BadgerNew[78801:c07] imageBlob: <null>
2013-02-05 13:57:42.866 BadgerNew[78801:c07] imageBlob: <null>
2013-02-05 13:57:42.866 BadgerNew[78801:c07] imageBlob: <null>

家长:

2013-02-05 13:57:42.868 BadgerNew[78801:c07] imageBlob: <UIImage: 0x114af650>
2013-02-05 13:57:42.868 BadgerNew[78801:c07] imageBlob: <UIImage: 0x8e492e0>
2013-02-05 13:57:42.868 BadgerNew[78801:c07] imageBlob: <UIImage: 0x114c79b0>
2013-02-05 13:57:42.869 BadgerNew[78801:c07] imageBlob: <UIImage: 0xa8c76e0>

这是一个更全面的版本,为什么我记下moc,父moc,blob,URL和对象ID。
儿童:

特别是我希望mainqueue的managedobject上下文是父的另一个子代,而不是所有其他managedObjectContext的父。另一方面,我也希望mainQueue Managed对象上下文具有uptodate信息。我不知道标准的解决方案是什么。

解决方法

该小孩具有无效的现有引用。如果您希望兄弟姐妹保存后保持同步,则必须重置儿童才能使其失效。

调用重置后,所有接收方的被管理对象都将被“忘记”。如果使用此方法,则应确保您丢弃对使用接收方提取的任何管理对象的引用,因为它们之后将无效。

您还可以使用refreshObject:mergeChanges:在保存父上下文时,在所有子上下文中更改的各个对象,如果要对子上下文中更改的对象进行更好的控制。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读