Swift の button.addTarget アクションにパラメータを添付する 質問する

Swift の button.addTarget アクションにパラメータを添付する 質問する

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

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

私の buttonClicked メソッド:

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

誰か何かアイデアはありますか?

ご協力いただきありがとうございます。

ベストアンサー1

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

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

またはスウィフト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")
}

おすすめ記事