xcode8编码问题与教程获取方法' setplayer'

时间:2017-04-23 20:56:37

标签: swift3 xcode8

所以我试图跟随一个tutuorial,我完成了大部分工作,但我仍然在这里收到错误消息,并且不知道如何修复它们。

我收到一条错误消息,内容为

  

方法' setplayer'使用Objective-C选择器' setPlayer:'冲突   与“玩家”的二传手使用相同的Objective-C选择器

include

回答源代码将是非常感谢。

1 个答案:

答案 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
        }

    }
}