自分はあまり使わないけど... defer
defer とは
スコープを抜け出すときに実行するもの
例
func deferTest() { let arrayData = ["red", "blue", "yellow", "pink"] for data in arrayData { defer { print("defer文実行") } if data == "blue" { print("スコープを抜けます") break } print(data) } } deferTest() // 【結果】 // red // defer文実行 // スコープを抜けます // defer文実行
注意
defer前にreturnやbreakしてしまうと実行されない
func deferTest(param: String) { if param == "blue" { print("スコープを抜けます") return } // このdeferは実行されない defer { print("defer文実行") } } deferTest(param: "blue") // 【結果】 // スコープを抜けます
社内でよく使う人がいたので必然的に覚えました。 しかし可読性には問題なくてもコード読んでる最中に忘れてしまうことがあったのであまり好きにはなれませんでした。