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