【发布时间】:2011-05-18 06:51:13
【问题描述】:
我的应用程序将 xml 文件解析为 coredata 以填充 uitableview。当我触发刷新时,它应该去下载一个新的 xml 文件,在后台线程上解析它,然后一次将其全部保存到 managedobjectcontext(替换旧的 managedobjectcontext 数据),然后更新表。这样,类似于 Twitter 应用程序,用户可以触发重新加载并在加载时仍然滚动。
这似乎是一件很标准的事情,但我似乎找不到任何帮助。
目前我正在使用 NSURLConnection 在我的 App Delegate 中下载 XML 以不锁定 UI。下载完成后,它会调用:
ParseOperation *parseOperation = [[ParseOperation alloc] initWithData:receivedData andArray:[NSManagedObjectContext defaultContext]];
[self.parseQueue addOperation:parseOperation];
这将在我认为是后台线程的地方开始解析。我可以在这里下载xml然后....
2 问题:1)如何保存到主线程的managedobjectcontext? 2) 如何访问核心数据中的旧实体以与更新后的 xml 进行比较?
之前肯定有人遇到过这种情况...有任何示例代码吗?
【问题讨论】:
标签: xml multithreading core-data