菜鸟教程小白 发表于 2022-12-12 11:50:03

ios - 兄弟 NSManagedObjectContext 如何交互?


                                            <p><p>如果我有 3 个 NSManagedObjectContexts。</p>

<p>A.是根上下文。</p>

<p>B.是一个后台保存上下文,解析一个 JSON 后生成 NSManagedObjects</p>

<p>C.是在 NSFetchedResultsController 中使用的子上下文</p>

<p>布局是这样的</p>

<pre><code>A
/ \
B   C
</code></pre>

<p>当我在 B 中进行更改时,我告诉 B 保存,然后我告诉 B.parent 保存。我的想法是它会触发 C 向我的 UITableView 发送更新,它支持它。</p>

<p>我的理论正确吗?或者我需要做些什么才能让 C 看到来自 A 的更新。我希望所做的更改能够弹出到 tableview 中。</p>

<p>具体来说,我试图了解这些 child 如何响应其父上下文中的变化以及这如何导致 NSFetchedResultsController 触发更新。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>由于保存只会将更改向上推送一级,因此 managedObjectContext 的子级只有在您再次获取时才会获得对其父级上下文所做的更改。</p>

<p>有关嵌套上下文如何工作的更多信息,请观看视频 <a href="https://developer.apple.com/videos/wwdc/2011/?id=303" rel="noreferrer noopener nofollow">What&#39;s New in Core Data for iOS</a>来自 WWDC 2011。</p>

<p>无论如何,在您的示例中,如果 A 正在数据库中写入和读取,而 B 则为什么不让 C 成为 B 的 child ?这样,保存 C 也会更新 UI,而保存 B 将推送更改并将它们排队等待保存。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 兄弟 NSManagedObjectContext 如何交互?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/17170482/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/17170482/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 兄弟 NSManagedObjectContext 如何交互?