在swift中修改发件人的属性

在swift中修改发件人的属性,swift,sender,Swift,Sender,如何在swift中修改发件人的属性?例如,如果有多个按钮连接到同一个事件处理程序,如何修改按下的按钮的属性(例如,标题) @IBOutlet weak var grade_preK: UIButton! @IBAction func gradeButtonPressed(sender: AnyObject) { sender.title = "New Title" } 此处的处理程序返回错误“无法分配给“发件人”中的“标题”。那么,如何更改事件发送者的属性呢?当您创建此属性时,I

如何在swift中修改发件人的属性?例如,如果有多个按钮连接到同一个事件处理程序,如何修改按下的按钮的属性(例如,标题)

@IBOutlet weak var grade_preK: UIButton!

@IBAction func gradeButtonPressed(sender: AnyObject) {
    sender.title = "New Title"  
}

此处的处理程序返回错误“无法分配给“发件人”中的“标题”。那么,如何更改事件发送者的属性呢?

当您创建此属性时,Interface Builder可能会让您选择将
sender
声明为
UIButton
,而不是
AnyObject
(它有该选项;您可能没有注意到)。您可以选择它,也可以现在修复它:

@IBAction func gradeButtonPressed(sender: UIButton) {
现在,
sender
是正确的类型,因此您可以修改它(在Cocoa中这样做是合理的样式)

(请注意,
UIButton
实际上有一个
setTitle(title:String?,forState state:UIControlState)
方法,而不是
setTitle()
方法,所以您可能想调用它。)