IBOutlet和IBAction的名称冲突?

时间:2015-01-01 19:19:21

标签: swift xcode6 xcode-storyboard

我从UICollectionViewCell类到故事板上单元格中的按钮有以下引用。单击该按钮不会触发'setFavorite'。

class StationCollectionViewCell: UICollectionViewCell {

    @IBOutlet weak var favorite: UIButton!

    @IBAction func setFavorite(sender: AnyObject) {
       println("Button clicked")
    }
}

但是当我将action-function或outlet-variable的名称更改为其他名称(例如'setAsFavorite'或'favoriteButton')时,它可以正常工作。

Swift的xCode是否有一些'魔术'阻止我同时拥有一个名为'favorite'的插座和一个名为'setFavorite'的动作

1 个答案:

答案 0 :(得分:3)

魔法属于NSObject。名为favourite的属性有两种访问方法:favourite(返回属性值)和setFavourite:(设置值)。使用上面的代码,你打破了这个假设,这就是更改方法名称的原因。

相关问题