4
因此,我将小图像保存为核心数据,这需要很短的时间才能保存,比如0.2秒,但用户在浏览滚动视图时需要这么做,以便提高响应速度我正在将保存移到一个线程。这很好,一切都得到保存,应用程序响应。然而,在core-data + multithreading doco中有一件事令我担心:在线程中保存核心数据,如何确保在退出前完成写入操作?
“在Cocoa中,只有主线程没有被分离,如果你需要保存在其他线程上,你必须编写其他代码主线程可以防止应用程序退出,直到完成所有保存操作。“
好的,你是怎么做到的?它只需要持续〜0.2秒,而且很少会发生,因为应用程序退出的机会非常低。我如何在主线程上运行一些防止应用程序退出并且不会阻止gui的东西?
感谢
阅读这个doco看起来像它会工作,我会给它一个去感谢! – Shizam 2010-04-08 15:10:33
你愿意扩大你的答案并举个例子吗?我试图找出如何设置这个,但我无法找到一个例子。我设置了一个标志被设置为false的地方,并且“threadDone”将其设置为true。在模拟器中工作良好,但从iTunes下载后无法正常工作。 – James 2011-12-28 16:41:23
@James这就是我所做的一切:http://pastie.org/4663834它不只是设置一个标志,它的一个应用程序标志。你可以找到更多关于beginBackgroundTaskWithExpirationHandler:在http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIApplication_Class/Reference/Reference.html – Shizam 2012-09-04 18:57:42