gpt4 book ai didi

ios - 跨上下文传递 ManagedObject ID

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:22:54 24 4
gpt4 key购买 nike

场景:

我正在处理 2 个 viewController,每个 viewController 都有自己的上下文(同一线程)。我正在尝试通过委托(delegate)方法从 MOC2 -> MOC1 传递 managedObject 的 objectID。很好,这样做了,它似乎传递了 ObjectID。

这就是问题所在...从 MOC1(委托(delegate))我通过 [self.localMOC objectWithID:thePassedID] 获得指向新对象的指针.我在找到的对象上运行一个 NSLog,日志描述了它,它似乎找到了。现在,当我尝试在更新的获取结果 Controller 中找到它时,即使它在使用相同结果 Controller 的 TableView 中显示对象,也找不到它。

这是日志语句...
通过 objectWithID 的对象:<Account: 0x6b11f90> (entity: Account; id: 0x6db44b0 <x-coredata:///Account/t5F84827D-E710-4331-A462-FCA1A0D335102> ; data: <fault>)

结果 Controller 对象:<Account: 0x6b1fc50> (entity: Account; id: 0x6b50250 <x-coredata://84B6642A-9C80-451F-BED4-52952EDFC43C/Account/p9> ; data: <fault>)

好像一个是permanentID,一个是temporaryID,而且内存地址完全不同。

关于我做错了什么的任何线索?

流程如下:

enter image description here

最佳答案

每个托管对象上下文都应该注册为来自其他上下文的“已保存”通知(NSManagedObjextContextDidSaveNotification)的观察者,以便它可以在使用 mergeChangesFromContextDidSaveNotification 保存时合并来自其他上下文的更改:

关于ios - 跨上下文传递 ManagedObject ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9725837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com