このレッスンではiOS アプリの起動時からビューが表示されるまでの間に起こる細かな動作について説明していきます。まずアプリケーションが起動するとUIApplicationMain という名前の関数が実行されます。C 言語などのプログラミング言語ではmain 関数が使われることが多いですがSwift ではこの UIApplicationMain という関数が一番最初に実行されます。そして UIApplication オブジェクトが作成されます。UIApplication オブジェクトが作成された後アプリケーションの様々なタイミングを受け取るための自身の Delegate が作成されます。それが完了すると次に Info.plist というファイルが読み込まれます。Info.plist の中には起動画面そしてメインとなるStoryboard の名前が書いて有ります。その情報に従ってSwift のアプリケーションは起動画面とメインの Storyboard に対応したxib ファイルと Storyboard ファイルを読み込みます。それが完了するとUIWindow クラスで表されるアプリケーションのwindow が作成されます。 window が作成されるとすぐに起動画面が読み込まれます。起動画面には複雑なデータがありませんので比較的高速に読み込むことができます。そして起動画面が表示されている間にメインとなる Storyboard から最初のビュー・コントローラが読み込まれます。そしてその次にビューコントローラの表示の準備が行われます。まずこの準備の最初の段階でUIApplication オブジェクトから自身のアプリの Delegate に対してApplication:didFinishLanunchingWithOptionsというアプリケーションの起動の第一段階が終わったことを示すメソッドが呼ばれます。そしてビュー・コントローラに対してビューが読み込まれたことを示すviewDidLoad() というメソッドが呼ばれこれからビューが表示されようとしているということを示す viewWillAppear() というメソッドが呼ばれます。そしてさらに自分のアプリの Delegate に対してapplicationDidBecomeActive() というアプリケーションがアクティブになったことを示すメソッドが呼ばれます。 そしてようやく UIWindow にはビュー・コントローラの全体が表示されビュー・コントローラ .swift の中にはこのビューが表示されたことを示す。viewDidAppear() というメソッドが呼ばれますSwift を使った iOS アプリケーションではこのように UIApplicationMain 関数が呼ばれてから様々なオブジェクトが作成されていきます。そして Info.plist に書かれた情報を元にしながら様々なファイルの情報を読み込んでいきます。そしてアプリケーション実行の段階が進むたびにDelegate やビュー・コントローラといった様々なオブジェクトに対して適切なタイミングを示すメソッドが呼ばれていきます。このレッスンではSwift の iOS アプリにおける起動時のライフサイクルについて説明しました。