1. ホーム
  2. swift

[解決済み] Swiftでbutton.addTargetアクションにパラメータを付ける

2022-09-19 19:29:37

質問

buttonClickedアクションに追加のパラメータを渡そうとしていますが、Swiftでどのような構文にすべきなのかがわかりません。

button.addTarget(self, action: "buttonClicked:", forControlEvents: UIControlEvents.TouchUpInside)

任意の私のbuttonClickedメソッド。

func buttonClicked(sender:UIButton)
{
    println("hello")
}

どなたかお分かりになる方いらっしゃいますか?

お世話になります。

どのように解決するのですか?

でカスタムパラメータを渡すことはできません。 addTarget: .一つの代替案は tag プロパティを設定し、そのタグに基づいて作業を行うことです。

button.tag = 5
button.addTarget(self, action: "buttonClicked:", 
    forControlEvents: UIControlEvents.TouchUpInside)

または Swift 2.2 およびそれ以上の場合。

button.tag = 5
button.addTarget(self,action:#selector(buttonClicked),
    forControlEvents:.TouchUpInside)

今度は tag プロパティ

@objc func buttonClicked(sender:UIButton)
{
    if(sender.tag == 5){

        var abc = "argOne" //Do something for tag 5
    }
    print("hello")
}