Objective-C:NSNotificationCenterでアプリ起動・終了時にメソッドを呼び出す

アプリ終了時に実行したい処理がある場合は、NSNotificationCenter を使う。

NSNotificationCenterのサンプルコード

アプリが終了する直前に myFunction を実行
- (void)viewDidLoad
{
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(myFunction)
                                             name:UIApplicationWillTerminateNotification
                                             object:nil];
}
- (void)myFunction
{
    NSLog(@"UIApplicationWillTerminateNotification selector");
}

その他の通知タイミング

UIApplicationDidBecomeActiveNotification

アプリがアクティブになったとき

[[NSNotificationCenter defaultCenter] addObserver:self
                                     selector:@selector(myFunction)
                                     name:UIApplicationDidBecomeActiveNotification
                                     object:nil];
UIApplicationDidEnterBackgroundNotification

アプリがバックグラウンドになる時

[[NSNotificationCenter defaultCenter] addObserver:self
                                     selector:@selector(myFunction)
                                     name:UIApplicationDidEnterBackgroundNotification
                                     object:nil];
UIApplicationDidFinishLaunchingNotification

アプリケーションが起動した直後

[[NSNotificationCenter defaultCenter] addObserver:self
                                     selector:@selector(myFunction)
                                     name:UIApplicationDidFinishLaunchingNotification
                                     object:nil];
UIApplicationWillEnterForegroundNotification

アプリがアクティブになる直前

[[NSNotificationCenter defaultCenter] addObserver:self
                                     selector:@selector(myFunction)
                                     name:UIApplicationWillEnterForegroundNotification
                                     object:nil];
UIApplicationWillResignActiveNotification

アプリがアクティブで無くなる直前

[[NSNotificationCenter defaultCenter] addObserver:self
                                     selector:@selector(myFunction)
                                     name:UIApplicationWillResignActiveNotification
                                     object:nil];
UIApplicationWillTerminateNotification

アプリが終了する直前

[[NSNotificationCenter defaultCenter] addObserver:self
                                     selector:@selector(myFunction)
                                     name:UIApplicationWillTerminateNotification
                                     object:nil];
UIApplicationWillChangeStatusBarOrientationNotification

デバイスの向きが変わる直前

[[NSNotificationCenter defaultCenter] addObserver:self
                                     selector:@selector(myFunction)
                                     name:UIApplicationWillChangeStatusBarOrientationNotification
                                     object:nil];
UIApplicationDidChangeStatusBarOrientationNotification

デバイスの向きが変わった後

[[NSNotificationCenter defaultCenter] addObserver:self
                                     selector:@selector(myFunction)
                                     name:UIApplicationDidChangeStatusBarOrientationNotification
                                     object:nil];

まとめ

アプリの状態に合わせて処理を行いたい場合には NSNotificationCenter は必須のオブジェクトですね。

siro:chro 無料ゲーム SQN をリリースしました

img_sqn_00

sirochro 初の無料ゲームアプリ SQN をリリースしました。
記事:SQN: iOS 無料ゲームアプリ SQN - Sequential Numbers をリリース
ちょっとした時間に楽しめる完全無料のゲームなっていますので、是非ダウンロードして遊んでみてください。

↓SQN のダウンロードはこちらから

Related Contents

Pickup Contents