gpt4 book ai didi

ios - 核心数据锁因为合并?

转载 作者:行者123 更新时间:2023-11-29 03:34:16 24 4
gpt4 key购买 nike

我有一个在后台运行的刷新进程(仅使用performInBackground就可以了),其中一部分有数据库更新,所以我有一个单独的MOC用于后台线程。然后,我使用 didSave 通知将更改合并到主 MOC。当应用程序在后台刷新时,用户可以在 UI 周围单击。

大部分都可以,但我时不时地看到一些锁。当我查看锁之前调用的方法时,它访问了主 MOC。我的刷新过程中没有任何内容访问此内容,所有内容都访问后台 MOC。但是,我认为我对后台 MOC 所做的更改确实会使用 didSave 通知进行合并。如果我尝试在执行 mergeChangesFromContextDidSaveNotification 时查询一个 MOC,这会是问题吗?解决这个问题的最佳方法是什么?我以为我已经用一个单独的 MOC 为我的后台线程解决了我的数据库问题,但是合并将成为一个问题,对吧?

最佳答案

您走在正确的道路上。每个线程使用自己的 MOC;当后台线程更新数据时,主 UI 线程会收到通知。您所描述的内容中没有任何内容可以导致锁定。您遇到的锁定很可能是由于在主线程中执行长时间运行的代码而阻塞 UI,而您认为此处理是在后台线程中完成的。

关于ios - 核心数据锁因为合并?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19390996/

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