我怎样才能在后台运行课程?

时间:2012-10-04 13:36:27

标签: iphone objective-c uilocalnotification

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

5 个答案:

答案 0 :(得分:1)

在你跳到这个之前,你真的应该建立一个对多线程编程的基本理解,而这是一个比我们在答案中可以合理覆盖的更大的主题。首先阅读Apple关于主题的文档:

答案 1 :(得分:1)

这不容易做到。在后台线程中使用Core Data要求您为该线程设置单独的上下文。我建议你先阅读Core Data Concurrency Guide。另请阅读Caleb链接的指南。

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

答案 2 :(得分:0)

[self performSelectorInBackground:@selector(yourMethod:) withObject:];

答案 3 :(得分:0)

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

我有使用RestKit的经验,您会在the repository找到大量示例。

答案 4 :(得分:0)

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