所以我试图跟随一个tutuorial,我完成了大部分工作,但我仍然在这里收到错误消息,并且不知道如何修复它们。
我收到一条错误消息,内容为
方法' setplayer'使用Objective-C选择器' setPlayer:'冲突 与“玩家”的二传手使用相同的Objective-C选择器
include
回答源代码将是非常感谢。
答案 0 :(得分:0)
<强>解决方案:强>
只需将方法从setPlayer
重命名为placePlayer
之类的其他内容,您就可以了。
<强>原因:强>
由于Swift和Objective-C是可互操作的,因此Swift代码的Objective-C转换也必须有效。在Objective-C中,属性自动生成名称为set
的setter,后跟属性的名称。您的函数与此自动生成函数冲突,因此您会收到错误。
<强>代码:强>
class TTTImageView: UIImageView {
var player: String?
var activated: Bool = false
func placePlayer(_ _player: String) {
self.player = _player
if activated == false {
if _player == "x" {
self.image = UIImage(named: "x")
} else {
self.image = UIImage(named: "o")
}
activated = true
}
}
}