defer文
defer文は遅延実行を行う構文です。
この文を使うことで、defer{}内部で記述された処理がスコープの退出時に行われるようになります。
var count = 0
func someFunction() -> Int {
defer {
count += 1
}
return count
}
someFunction()
someFunction()
//1回目結果
0
//2回目結果
1
上記のコードのようにdefer文を使用すると1回目の関数処理時には、遅延処理の影響で0が出力され、
2回目の関数処理時には前回の遅延した処理が行われた関数が出力され、1を出します。
このように遅れて処理をしてくれるのがdefer文の特徴です。