override
親クラスのメソッドを上書きするには
override
が必要
super
superを使用することでメソッドの一部だけを上書きすることができる。
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
と書くとviewDidLoad にプラスして自分で書いた処理を実行することができる。
オプショナル型
nil = 何もない
var age:Int = nil
var age:Int? = 25
↑上はnilにもなり得る整数型という意味になります。
オプショナル整数型を使った計算
var age:Int? = 25
print(age + 1) // これはエラーになる
オプショナル整数型の値を持つ変数から整数型のみを取り出すことで解決する。
var age:Int? = 25
print(age! + 1) // 26
!をつけると取り出せる
var age:Int? = nil
print(age! + 1) // アプリがクラッシュする
nilが代入されている変数から値を取り出すとアプリがクラッシュする
プロトコル
列挙体
型メソッド
クラスからインスタンスを生成し、そのインスタンスからメソッドを実行するのがクラスを使う際の流れ。
だが、インスタンスを生成することなく、クラスから直接メソッドを呼び出すことのできるメソッドのことを型メソッドという。