2014-10-10 73 views
2

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

@IBOutlet weak var grade_preK: UIButton! 

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

这里的处理程序返回错误“不能分配给'发件人'中的'标题'。那么,如何才能在事件的发件人上更改属性?

回答

2

当您创建此项时,Interface Builder可能会让您选择声明senderUIButton而不是AnyObject(它确实有此选项;您可能没有注意到它)。您可以选择的是,也可以立即修复:

@IBAction func gradeButtonPressed(sender: UIButton) { 

现在sender是正确的类型,所以你可以修改它(它是合理的风格可可这样做)。

(请注意,UIButton实际上有一个setTitle(_ title: String?, forState state: UIControlState)方法,而不是一个setTitle()方法,所以这就是你可能是指打电话。)

+0

你是绝对正确的。我感谢帮助! – barrt051 2014-10-10 00:45:55