2011-06-24 31 views
0

可能重複:
IOS3 Compatible App in IOS4 Mutlitasking保存/中斷後恢復狀態,如電話或用戶退出了應用

我做了一個小測驗應用程序,我需要保存狀態(定時器,問題ID的數組,包含字典對象的數組,其說明關於用戶已經回答的內容以及當前索引),當用戶按下主頁按鈕或者在打電話的情況下等。

但是,該應用程序將在iOS版本< 4.0上運行,因此在某些情況下,多任務處理將無法進行。

我已經寫過這個,但是我無法在iOS 3.1.3(實際設備)上獲取此UIApplicationWillResignActive的通知,但在iOS> = 4.0時它可以正常工作。並且我還註釋掉了UIApplicationWillEnterBackground通知,因爲應用程序在iOS 3.1.3設備上運行時會崩潰,因爲通知名稱不可用。我如何檢查它是否可用,就像我使用方法一樣?

NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; 
    [nc addObserver:self selector:@selector(saveState) name:UIApplicationWillResignActiveNotification object:nil]; 
    //[nc addObserver:self selector:@selector(loadState) name:UIApplicationWillEnterForegroundNotification object:nil]; 

我應該掛哪通知名字以及如何保存在iOS系統/負載狀態,沒有多任務處理和那些?

謝謝。

回答

2

使用isMultitaskingSupported屬性確定您是否可以依賴該方法,並在相應地保存數據時進行更改。不要依賴操作系統版本,因爲即使在iOS 4+上,也可以禁用多任務處理(很少,是,但可能)

0

通常建議您隨時保存這些內容。否則,當你的應用程序正在退出時,你可能會花太長時間寫它。

0

對於不支持多任務的iOS版本,您可以將狀態保存在applicationWillTerminate:中。但是你沒有太多時間去做很多工作,所以你最終可能會得到部分保存。正如@amergin所說,最好能夠隨時隨地保存任何實質性內容。

相關問題