0

我创建了一个从网站(不是我的)检索数据并保存到核心数据的应用程序。我想在新记录插入到我的核心数据时创建通知。我认为检索数据方法和添加对象方法应该在后台运行,但我该怎么做呢?任何示例代码?

4

5 回答 5

1

这并不容易做到。在后台线程中使用 Core Data 需要您为该线程提供单独的上下文。我建议从阅读Core Data Concurrency Guide开始。另请阅读 Caleb 链接到的指南。

一旦你弄清楚如何让你的后台上下文运行,你很可能想要订阅NSManagedObjectContextDidSaveNotification来更新主线程上的 UI。

于 2012-10-04T17:09:53.040 回答
1

在开始讨论之前,您确实应该对多线程编程有一个基本的了解,这是一个更大的主题,我们无法合理地在答案中涵盖。首先阅读 Apple 关于该主题的文档:

于 2012-10-04T13:47:44.657 回答
0

您必须执行异步请求[不会在主线程上执行],并且您将在委托方法中收到有关请求完成/错误/超时的通知,具体取决于您使用的库。

我有使用RestKit的经验,您会在存储库中找到大量示例。

于 2012-10-04T13:47:01.257 回答
0

您提到在将数据插入 CoreData 时创建通知。你不能只看CoreData发送的通知,比如NSManagedObjectContextDidSaveNotification吗?

于 2012-10-04T17:00:48.963 回答
0
[self performSelectorInBackground:@selector(yourMethod:) withObject:];
于 2012-10-04T13:42:41.547 回答