こんにちわセイカイと言います。

iPhoneアプリ開発入門編、今回はApplicationDelegateに関しての内容です。

ApplicationDelegateの役割

そもそもApplicationDelegateってプロジェクト作ると勝手に出来ているけど何?というお話ですが、ApplicationDelegateはUIResponderクラスを継承し、UIApplicationDelegateプロトコルを実装しています。

上記より、アプリケーションの状態変化と、各種イベントを受け取ることが出来ることがわかりますのでそれぞれ説明していきます。

アプリケーションの状態変化

アプリケーションの状態変化(ライフサイクル)はUIApplicationDelegateプロトコロルで定義されたメソッドを介して受け取ります。

  • 起動
  • Push通知の受け取り
  • 停止
  • etc.

起動時の処理などは必ず書く処理ですね。

これは起動時に呼ばれるメソッドです。

アプリケーションのライフサイクルメソッド

のように、それぞれのタイミングで呼ばれるメソッドが決まっていますので、そのタイミングで実装したい処理を書けばOKです。

参考:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplicationDelegate_Protocol/index.html?hl=ar

イベントの処理

継承元のUIResponderクラスはイベント処理等を定義しています。
ここでいうイベントとは、タッチやモーションの受け取り等ですね。

それぞれの引数からタッチ座標等が取得できたりします。

参考:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIResponder_Class/index.html#//apple_ref/occ/cl/UIResponder

まとめ

まとめです。
AppDelegateはアプリケーションの各種状態変化と、タッチやセンサーなどのイベントを受け取ることが出来ます。
アプリケーション全体の挙動等はこのクラスが司るイメージです。

雑な説明ですが、ざっくりイメージは掴めましたでしょうか。
詳細は、英語ですが本家のドキュメントなどを見られると良いかと思います。

あわせて読みたい記事