发件人

时间:2017-02-25 02:25:19

标签: swift

所以我在swift中经常使用发件人,但它确实混淆了它究竟是什么。

@IBAction func btnPressed(_sender: AnyObject){
   performSegue(withIdentifier: "newScreen", sender: code)
}

有人解释了两个发件人之间的区别。这让我感到困惑,因为它具有相同的名称但功能不同。

1 个答案:

答案 0 :(得分:0)

IBAction的参数会告诉您是谁造成了这个动作。在您的情况下,当您按下触发此IBAction的按钮时,sender将被设置为该按钮。

单词sender只不过是一个名字。这是一个典型的惯例。

在您的情况下,最好使用更强类型的参数,并使用更具描述性的名称,例如:

@IBAction func btnPressed(_ button: NSButton) { // or UIButton for iOS
   performSegue(withIdentifier: "newScreen", sender: code)
}