2016-12-13 32 views
1

正如我們所知,當app將被殺害,在AppDelegate,系統將調用applicationWillTerminate:方法。我可以在`applicationWillTerminate:`中存檔對象嗎?

但是你要知道,如果一個archivesingleton,這是一個很進口的東西,並且如果有一個fetch data行動,將app已被殺害,而networkarchive不完了嗎?

難道我archive a singletonapplicationWillTerminate:方法嗎?

applicationWillTerminate:方法:

func applicationWillTerminate(_ application: UIApplication) { 
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 

} 

回答

0

docs

此方法的實現有大約秒執行任何任務,並返回。如果該方法在時間到期之前沒有返回,系統可能會完全終止該過程。

鑑於此信息,如果您確定可以從網絡中檢索某些信息並在大約不到5秒的時間內歸檔您的對象,那麼您可以使用該方法。

個人而言,我不會那樣做,因爲您完全受限於您的互聯網連接的質量,這很容易導致您的網絡請求花費超過5秒鐘。

+0

謝謝,我也覺得有一個不太好的地方去做這些事情,因爲如果'設備'斷電,這也是一個可能的原因。 – aircraft

相關問題