[Swift] selectorの使い方

Swift

Swiftのselectorでできること

Swiftのselectorは、ボタン(UIボタン)などにメソッドをつけたい時に使います。

ボタンが押された時に何か処理を行いたい時に、メソッド名をselectorで指定します。

実践: selectorを使ってみよう

今回は、ボタンが押されたら画面の色を変える処理をselectorを使って作ってみます。

アプリの作成

まず適当にアプリを作ります。初期画面です。

ボタンをViewContorlerにつなぐ

ボタンを画面に置きます。

右クリックで、画面からViewControllerに引っ張ってきてつなぎます。

ボタンの名前は、testBtnとします。

selectorを使う

このボタン(testBtn)にselectorを使います。

addTargetでボタンに処理を加えています。addTargetはボタンにイベント(タップなど)が起こった時の処理を指定できます。

UIButtonにaddTargetを使う場合は、上の画像のように、

・target(どのクラスで使うものか)

・selector(ボタンにイベントが起こった時行うメソッドを指定する)

・event(ボタンにどんなイベントが起こったらselectorのメソッドを呼ぶか決める)

の3つを指定します。

targetはViewControllerで使うのでself、

actionは画面の色を変えるメソッドなのでchangeColor、

eventは.touchUpInside に指定しています。

※eventの種類の参考記事: UIControl – iPhoneアプリ開発の虎の巻

次にchangeColorメソッドを用意して、ボタンが押されたら画面の色を切り替える処理を追加します。

selectorで指定してあるメソッドを書くときは、@objcをつけてください。

changeColorメソッドで、viewControllerのUIViewを緑に変えています。

シュミレーターで試してみます。

起動しました。ボタンを押してみると、、

このようにボタンがイベントを検知して、selectorのメソッドが呼ばれて、色が緑に変わります。

サンプルコード

以上selectorの使い方についてまとめてみました!

未経験からエンジニアなりませんか?:社会人転職コース

参考:

iOS – Swift(またはObjective-C)のselectorについて|teratail