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] みんなの自己肯定感を高める 子育て言い換え事典
石田 勝紀, カワグチ マサミ (単行本)