我有以下从 UICollectionViewCell 类到 Storyboard单元格中按钮的引用。单击该按钮不会触发“setFavorite”。
class StationCollectionViewCell: UICollectionViewCell {
@IBOutlet weak var favorite: UIButton!
@IBAction func setFavorite(sender: AnyObject) {
println("Button clicked")
}
}
但是当我将操作函数或导出变量的名称更改为其他名称(例如“setAsFavorite”或“favoriteButton”)时,它就可以工作了。
Swift 的 xCode 是否有一些“魔法”阻止我同时拥有名为“favorite”的 socket 和名为“setFavorite”的操作
最佳答案
魔法属于 NSObject。名为 favourite
的属性有两个访问器方法:favourite
(返回属性值)和 setFavourite:
(设置值)。通过上面的代码,您打破了这个假设,这就是更改方法名称有效的原因。
关于swift - IBOutlet 和 IBAction 的名称冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27733851/