2011-06-24 4 views
0

可能性の重複:私はクイズアプリケーションを作っていると私は保存する必要が
IOS3 Compatible App in IOS4 Mutlitasking保存するには、/、このような電話またはユーザとして割り込み後の状態を復元アプリをやめ

ユーザーがホームボタンを押したときや電話などのときに、状態(タイマー、問題ID配列、辞書オブジェクトを含む配列、ユーザーが回答した内容と現在のインデックスを含む配列)

しかし、アプリケーションはiOSバージョン< 4.0で動作するため、場合によってはマルチタスクができません。

私はこれを書いていますが、iOS 3.1.3(実際のデバイス)のこのUIApplicationWillResignActiveの通知を受け取ることはできません.iOS> = 4.0では動作します。通知名が利用できないため、iOS 3.1.3デバイスで実行されたときにアプリがクラッシュするため、UIApplicationWillEnterBackground通知もコメントアウトしました。方法と同じように利用可能かどうかを確認するにはどうすればよいですか?

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

OSのバージョンには依存しないでください。この作業を保存することをお勧めします。それ以外の場合は、アプリの終了時にそれを書き込むのに時間がかかりすぎる可能性があります。

0

マルチタスクをサポートしていないiOSバージョンでは、applicationWillTerminate:に状態を保存できます。しかし、あなたは多くの作業をするために多くの時間を持っていないので、あなたは部分的なセーブで終わるかもしれません。 @amerginは言ったように、あなたが行くにつれて何かを実質的に節約するのに最適です。

関連する問題