deferという見慣れないものが出てきて、調べてみたのだけれども、 「スコープを抜ける時にやってほしい処理を書ける」 という説明が多かった。 その説明では???だったので、なんとなく分かったような気もするが、使いどころがわからない感じで放置していた。 が突然、そうか!そういうことか!と分かった気がしたので、メモしておく。 メソッドやfor文などのスコープ内で、途中でreturnしたりbreakしたりして抜けてしまうことがあるけれども、 「途中で抜けようが抜けまいが必ずやって欲しい処理をあらかじめ書ける」 というのがdeferの使いどころなのだと思った。 コードにするとこんな感じ。 import UIKit func hoge() { defer { print("途中でreturnしようがしまいがやって欲しい処理をやりました") } // この値を0にしようがしまいが上のdeferは処理さ