確認一些iOS開發後,沒有你做不到這一點呢。
但有一個選擇。您可以在操作方法中接收發件人對象。您可以將任何屬性添加到發件人類。並在行動方法中接收。
例如:
第一種方法
let button = UIBarButtonItem(title: "Run",
style: .Plain,
target: self,
action: #selector(run(_:)))
button.tag = 1
而且你會接受她這樣的
func run(sender: UIBarButtonItem) {
let passedInteger = sender.tag
}
但它只有在傳遞的參數是一個整數工作。這裏是你如何能做到這一點,如果你想傳遞多個參數與任何數據類型 - >看看第二種方法
第二種方法
子類的UIBarButtonItem
class MyBarButtonItem: UIBarButtonItem {
var passedParameter: String?
}
並接受它像這樣
let button = MyBarButtonItem(title: "Run",
style: .Plain,
target: self,
action: #selector(run(sender:)))
button.passedParameter = "John Doe"
func run(sender: MyBarButtonItem) {
// now you have the parameter
let parameter = sender.passedParameter
}
請不要大幅改變你的答案已被接受後。 – xoogler