gpt4 book ai didi

xcode - 带有 Objective-C 选择器 'setChecked' 的方法 'setChecked:' 与具有相同 Objective-C 选择器的 'checked' 的 setter 冲突

转载 作者:搜寻专家 更新时间:2023-10-31 08:18:53 26 4
gpt4 key购买 nike

我创建了继承自 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 之前它工作正常。

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

Method 'setChecked' with Objective-C selector 'setChecked:' conflicts with setter for 'checked' with the same Objective-C selector

我已经尝试重写它,但随后我收到一条错误消息,提示“方法未重写其父类(super class)中的任何方法”。

有人知道我该如何正确解决吗?

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

最佳答案

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

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

关于xcode - 带有 Objective-C 选择器 'setChecked' 的方法 'setChecked:' 与具有相同 Objective-C 选择器的 'checked' 的 setter 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29836389/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com