2011-07-22 7 views
1

私はいくつかの仕事をするいくつかの仕事をしています。iPhone - オブジェクトにイベントを送信して、アプリがバックグラウンドであることを伝えます。

これを行うには、コンパイル時に - (void)doWhatNeededBecauseAppHasGoneInBackgroundのようなメソッドを実装するように強制します。

どうすればよいですか?

メモリにある既存のオブジェクトに、アプリが行った、またはバックグラウンドで移動するという一般的な方法がありますか?私は、いくつかの実装されたメソッドを見逃す危険はありませんか? [MyClass copy]で呼び出される各クラスはNSCodingプロトコルを実装する必要があり、それを行うにはいくつかのメソッドを実装する必要があります。これはアイデアだろうか?

+1

この回答を見てください。 http://stackoverflow.com/questions/6063866/best-practice-for-applicationdidenterbackground/6063972#6063972 – jaminguy

答えて

3

アプリケーションがバックグラウンドになると、UIApplicationDidEnterBackgroundNotificationが送信されます(iOS 4.0以降)。あなたのオブジェクトにこの通知を確認させる:

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(doWhatNeededBecauseAppHasGoneInBackground) 
              name:UIApplicationDidEnterBackgroundNotification 
              object:nil]; 
関連する問題