【Swift】【XCode】Senderを使って複数のイベントを1つのメソッドで処理する
目次
senderを使って、複数のイベントを1つのメソッドで処理する
イベントを発生させるUIのTagを使用してどのオブジェクトからのイベントなのかハンドリングする
複数のボタンを用意する
今回は3つボタンを配置します。タグを設定する
以下の画像の赤枠の部分のTag
となっている部分をそれぞれ、1,2,3に設定します。同じメソッドにClickイベントを紐付ける
最初のイベントのみ、通常の紐付け方をして、その後の2つは1つ目で作成した部分に差し込みます。Controllerでタグでイベントを分岐させる
- 引数で渡されるsenderからはtagを取れないので、AnyObjectにキャストする必要があります。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17let tag = (sender as AnyObject).tag
guard let tag = tag else {
print("タグが設定されていません")
return
}
switch tag {
case 1:
print("Button1が押されました")
case 2:
print("Button2が押されました")
case 3:
print("Button3が押されました")
default:
print(String(tag)+"イベントが来ました")
}
【Swift】【XCode】Senderを使って複数のイベントを1つのメソッドで処理する
https://blog.djima.net/2021/08/04/【Swift】【XCode】Senderを使って複数のイベントを1つのメソッドで処理する/