#開発環境
- MacOSX HighSierra(10.13.6)
- Xcode Version 9.4.1 (9F2000)
- Swift4.2
- Cocoa
#アプリケーションのライフサイクルを知る
アプリケーションのライフサイクルを知らないと開発できない。
Android開発やiPhone開発のライフサイクルメソッドと同じ考えで良い。
プロジェクト作成時に自動生成されているメソッドの説明をする。
#AppDelegate.swift
AppDelegate.swiftはアプリケーションのライフサイクルメソッドがある。
プロジェクト生成時に以下の2つのライフサイクルメソッドが自動生成される。
他のタイミングで処理したい場合、他のライフサイクルメソッドを利用すること。
詳細はリファレンスで確認できる。
リファレンス : UIApplication Delegate
-
applicationDidFinishLaunching(_:)
アプリケーションの起動が完了したときに呼び出される。
リファレンス : applicationDidFinishLaunching -
applicationWillTerminate(_:)
アプリケーションが終了する前に呼び出される。
リファレンス : [applicationWillTerminate] (https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623111-applicationwillterminate)
#ViewController.swift
ViewController.swiftはViewのライフサイクルメソッドがある。
Main.storyboardにあるView Controllerのこと。
基本的にアプリケーションのウインドウを開いたり閉じたりすると一緒にView Controllerも生成と終了する。
Viewの生成と終了を繰り返せば、その度にライフサイクルメソッドが呼び出される。
詳細はリファレンスで確認できる。
リファレンス : UIViewController
-
viewDidLoad()
View生成後に呼び出される。
リファレンス : viewDidLoad() -
representedObject
View間のデータ(プロパティ、パラメータ)の受渡しをするときに利用する。
自動生成コメントより、「Update the view, if already loaded.(既にロードされている場合は、ビューを更新します。)」
リファレンス : representedObject
#他のライフサイクル処理を作成
既存のライフサイクルを参考にする。
ViewController.swiftにあるviewDidLoad()みたいにsuper.viewDidLoad()を記述すること。
つまり、親クラスの物を呼び出す。super.xxx()の記述を忘れてはいけない。
override func viewDidLoad() {
super.viewDidLoad() // ←これ
// Do any additional setup after loading the view.
}
以上、フォローといいねをお願いします。