Swiftで「呼び出された回数を返す関数」をつくろう!
今回はSwiftで呼び出された回数を返す関数を定義してみようと思います!
クロージャを使えば簡単に実装することができますよ^^
import UIKit func counter() -> (Void -> Void) { var count = 1 return { println(count) count++ } } let f = counter() f() // 1 f() // 2 f() // 3
やってることは、まず呼び出し回数を表示して+1する関数を返すcounterという関数を定義しています。counter関数内のローカル変数countは、次にf()を呼び出したときにも消えずに保持されています。クロージャを使うと状態を保持する関数が作れるので便利ですね♪
お疲れさまでした!!