MOC刷新后CoreData无法执行故障 - 如何解决?

发布于 2024-09-26 08:29:25 字数 389 浏览 2 评论 0原文

我是 iPhone 开发新手,并且在 Core Data 方面遇到了这个问题。

目前,我的应用程序的工作原理如下:

  1. 我正在从 Core Data 执行提取,并在 TableView 中显示我的对象列表

  2. 分离新线程,按照建议为其创建新的 MOC,

  3. 获取 xml,解析它,然后清除 Core Data 并填充它来自 xml 的新数据

  4. 保存我的 MOC。

如果用户没有在 MOC 保存期间滚动 TableView,那么它工作正常,但如果他是,我会收到此错误并且应用程序崩溃。

任何人都可以用简单的英语解释为什么会发生以及我该如何解决这个问题。

多谢。

I'm new to iphone development and have this problem with Core Data.

At the moment my app works as follows:

  1. I'm executing a fetch from Core Data and display my list of objects in TableView

  2. Detaching new thread, create new MOC for it, as advised,

  3. Getting xml, parse it, then clear Core Data and fill it with new data from xml

  4. Saving my MOC.

It works fine if user isn't scrolling TableView within saving of MOC, but if he is, I'm getting this error and the application crashes.

Can anyone explain in plain English why it's happening and how can I solve the problem.

Thanks a lot.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

终难愈 2024-10-03 08:29:25

好吧,解决方案很简单,只需要获取最初的正常对象,而不是来自 CoreData 的错误,使用请求对象的属性,

如下所示:

//...
[request setReturnsObjectsAsFaults:NO];
//...

内存分配没有区别(至少我在工具中没有注意到),但是问题消失)

Ok, the solution is easy, need just get initially normal objects, not faults from CoreData, using property of request object

like this:

//...
[request setReturnsObjectsAsFaults:NO];
//...

There is no difference in memory allocation (at least I didn't notice it in Tools), but the problem disappears)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文