繁体   English   中英

IBOutlet和IBAction的名称是否冲突?

[英]Conflicting names of IBOutlet and IBAction?

我从UICollectionViewCell类到情节提要板上单元格中的按钮有以下引用。 单击该按钮不会触发“ setFavorite”。

class StationCollectionViewCell: UICollectionViewCell {

    @IBOutlet weak var favorite: UIButton!

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

但是,当我将动作功能或输出变量的名称更改为其他名称(例如,更改为“ setAsFavorite”或“ favoriteButton”)时,它将起作用。

Swift的xCode是否完成了一些“魔术”操作,使我无法同时拥有一个名为“ favorite”的出口和一个名为“ setFavorite”的动作

魔术属于NSObject。 名为favourite的属性有两个访问器方法: favourite ,它返回属性值;和setFavourite:它设置值。 使用上面的代码,您将打破这个假设,这就是为什么更改方法名称有效的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM