2011-01-22 30 views
4

當應用程序終止時,我在數據庫上寫入數據。applicationDidEnterBackground:以及在數據庫上寫入數據的時間

由於從iOS 4的applicationWillTerminate:不叫,我已經把相同的保存代碼無論是在applicationDidEnterBackground:和applicationWillTerminate:

我讀到,在applicationDidEnterBackground執行的任務:必須採取一些時間。

因此,如果在db上的寫作需要更多,我怎麼能管理這個?

回答

4

你會在applicationDidEnterBackground:方法中執行任何保存操作5秒鐘。

如果需要超過5秒有這個UIApplication的方法來請求一個後臺線程,這將允許更多的時間做任何你需要:

- (UIBackgroundTaskIdentifier)beginBackgroundTaskWithExpirationHandler:(void(^)(void))handler 

這裏是蘋果公司的這個例子代碼:

http://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html#//apple_ref/doc/uid/TP40007072-CH5-SW12

+0

applicationWillTerminate有沒有同樣的問題,是嗎? – Sefran2 2011-01-23 09:24:33