その時凡人が動いた

凡人が凡人らしからぬことをするために日々奮闘するブログ

Swiftで「呼び出された回数を返す関数」をつくろう!

swift_logo

今回は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()を呼び出したときにも消えずに保持されています。クロージャを使うと状態を保持する関数が作れるので便利ですね♪

お疲れさまでした!!