| categories:swift develop

ビューサイクルとアプリ復帰時の処理

たまに、何処に何の処理を入れれば良いか分からなくなるので、簡単にまとめる。

起動時

アプリの起動時には以下の順で呼ばれる。

  1. viewDidLoad()
  2. viewWillAppear
  3. viewDidAppear ※すべての画像の処理が終わった後に呼ばれる。あまり使っていない。

モーダルビューより復帰

モーダルビューより戻ってくると以下の処理が再び呼ばれる。

  1. viewWillAppear
  2. viewDidAppear

ロック・スリープからの復帰時

ロック・スリープからの復帰は処理が行われない(厳密には、AppDelegate内では呼ばれる)ので、アプリの戻ってきた時の処理を追加する。 viewDidLoadに通知の設定する事で可能になる。Setting.bundleでフォントの設定等を変更し、アプリに戻ってきた時に使う。

// Notification Center
let app: UIApplication = UIApplication.sharedApplication()
NSNotificationCenter.defaultCenter().addObserver(self, 
        selector: "applicationWillEnterForeground:", name: UIApplicationWillEnterForegroundNotification, 
        object: app)

と処理を追加する。

func applicationWillEnterForeground(notification: NSNotification) {
    println(__FUNCTION__)
    
}

スリープに移行時

逆にスリープに入る時には復帰時と同じで、ApplicationWillEnterForeground の代わりに ApplicationDidEnterBackground を使えば良い。

 NSNotificationCenter.defaultCenter().addObserver(self, selector: "applicationDidEnterBackground:", name: UIApplicationDidEnterBackgroundNotification, object: app)
comments powered by Disqus