Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 方法';setChecked';使用Objective-C选择器';setChecked:';与'的setter冲突;选中';使用相同的Objective-C选择器_Xcode_Function_Swift_Compiler Errors - Fatal编程技术网

Xcode 方法';setChecked';使用Objective-C选择器';setChecked:';与'的setter冲突;选中';使用相同的Objective-C选择器

Xcode 方法';setChecked';使用Objective-C选择器';setChecked:';与'的setter冲突;选中';使用相同的Objective-C选择器,xcode,function,swift,compiler-errors,Xcode,Function,Swift,Compiler Errors,我已经创建了从UIButton继承的自定义类 在该类中,我创建了一个函数,定义如下: func setChecked(checked:Bool){ self.checked = checked if checked { buttonImageView.image = UIImage(named: "radioSelected.png") } else { buttonImageView.image

我已经创建了从UIButton继承的自定义类

在该类中,我创建了一个函数,定义如下:

  func setChecked(checked:Bool){
        self.checked = checked
        if checked {
            buttonImageView.image = UIImage(named: "radioSelected.png")
        } else {
            buttonImageView.image = UIImage(named: "radioUnselected.png")
        }
    }
在我将xCode更新到6.1.3之前,它一直运行良好

现在,我在函数定义行中不断收到错误消息:

方法“setChecked”与Objective-C选择器“setChecked:”冲突 使用相同的Objective-C选择器的“已检查”设置器

我已经尝试过重写它,但后来我得到一个错误,说“方法不重写其超类中的任何方法”

有人知道我如何正确地解决它吗


(我不想更改函数的名称。)

似乎发生了名称冲突。还有几个人有同样的问题:

尝试将函数重命名为类似以下内容:


func checkedSetter(checked:Bool){

函数名与属性冲突。如何通过观察属性以更优雅的方式实现它?这将明确显示值如何更改,以及值更改的副作用

class RadioButton: UIButtom {
  var checked: Bool = false {
    didSet {
        buttonImageView.image = UIImage(named: checked ? "radioSelected.png" : "radioUnselected.png")
    }
  }
}

谢谢您的回答,但我提到我不想更改函数的名称。我想了解这个名称冲突发生的位置,如果实际上这里是名称冲突(我在代码中找不到),我想修复它。@RSC您找到发生这种情况的原因了吗?可能是