created: 2019-03-16T03:19:07.000Z

swiftのselectorについて

  • コールバックを渡すための仕組みのようなもの?
  • たとえばメソッドを渡してイベントが発生した時の実行するような場合につかう?
var button = UIButton()
button.addTarget(self, action: "tappedButton:", forControlEvents: .TouchUpInside)

今度はSwiftの例ですが、上記のコードではボタンが押されたらselfに定義してあるtappedButtonというメソッドが実行されます。

swiftの以前のバージョンだと↑のように文字列を渡していたが、 最近ではメソッドを #selector インスタンスを生成して引数に渡すようなっている

var button = UIButton()
button.addTarget(self, action: #selector(MyClass.myMethod(_:)), forControlEvents: .TouchUpInside)

こんな感じなのかな? (動かしていない)

参考

ホットクックお助けレシピ 予約調理のおかず ; 少ない材料&調味料で、あとはスイッチポン!
[ad] ホットクックお助けレシピ 予約調理のおかず ; 少ない材料&調味料で、あとはスイッチポン!
橋本加名子 (単行本(ソフトカバー))