Xcode8 编码问题与教程获取方法'setplayer'错误



,所以我试图遵循一个tutuorial,我完成了其中的大部分,但是我仍然在这里收到错误消息,并且不知道如何修复它们。

我收到一条读取

的错误消息

method'setplayer'与Objective-C Selector'SetPlayer:'冲突 使用相同的Objective-C Selector

使用"播放器"的设置器
import UIKit
class TTTImageView: UIImageView {
    var player:String?
    var activated:Bool! = false
    func setPlayer (_ _player:String){ "<-- error message for this line of code"
        self.player = _player
        if activated == false{
            if _player == "x"{
                self.image = UIImage(named: "x")
            }else{
                self.image = UIImage(named: "o")
            }
            activated = true
        }
    }
}

用源代码回答将是惊人的,谢谢。

解决方案:

只需将该方法从setPlayer重命名为placePlayer之类的其他方法,您就可以了。

原因:

由于Swift和Objective-C是可互操作的,因此SWIFT代码的Objective-C翻译也必须有效。在Objective-C中,属性自动生成的设置器,名称为set,然后是该属性的名称。您的功能与此自动生成函数发生冲突,因此您会收到错误。

代码:

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

相关内容

最新更新