Ios UIButton设置标题标签设置值(新标签,forKeyPath:“标题标签”)

Ios UIButton设置标题标签设置值(新标签,forKeyPath:“标题标签”),ios,swift,uibutton,Ios,Swift,Uibutton,事故信息 setValue:forUndefinedKey::此类不符合key titleLabel的key-valuecoding 如果使用kvc怎么办?您应该使用setTitle方法为状态设置按钮标题 let newLabel = UILbael() let button = UIButton() button.setValue(newLabel, forKeyPath: "titleLabel") 是来自NSObject类的方法,UIButton是其子类。不建议使用KVO。更多信息,请阅

事故信息

setValue:forUndefinedKey::此类不符合key titleLabel的key-valuecoding

如果使用kvc怎么办?

您应该使用setTitle方法为状态设置按钮标题

let newLabel = UILbael()
let button = UIButton()
button.setValue(newLabel, forKeyPath: "titleLabel")

是来自NSObject类的方法,UIButton是其子类。不建议使用KVO。更多信息,请阅读此文。

我认为您尚未确认ViewController中的插座,这是使用按钮和设置标题时的一个原因ViewController中没有任何按钮参考。这就像使用任何对象而不进行任何初始化一样。因此,确保并检查按钮插座。请查看代码,以便我们确定实际问题所在。

KVC仅支持NSObjects,而苹果似乎正在Swift中逐步淘汰它。我不建议在新开发中使用KVC

您也不应该使用按钮的标题标签来设置按钮的标题。要引用UIButton上的Apple文档,请执行以下操作:

要设置标签的实际文本,请使用setTitle\uuux:for: button.titleLabel.text不允许您设置文本

如果您有两个按钮,firstButton和secondButton,并且您试图将标题从第一个复制到第二个,那么您的代码可能如下所示:

button.setTitle("Your button title here", for: .normal)

你能展示你的代码吗?你想达到什么目的?你的问题模棱两可。你发布了一些毫无意义的代码,然后说怎么做。你怎么做什么?用语言描述你正在尝试做的事情。您是否试图将文本从标签TitleLabel复制到另一个标签newLabel?您正在尝试复制标签的所有属性吗?大小、位置、字体等。var button=button set button。titlelabel使用kvcy你的问题还是一团糟。包含这两个按钮的变量是什么?第一个按钮是如何创建的?newLabel是一个标签,还是希望将一个按钮的按钮标题复制到另一个按钮?仅供参考:UIButton不是NSObject的子类,它继承自UIControl@IraniyaNayneshUIButton->UIControl->UIView->UIResponder->NSObject。据此,每个类都是NSObject的子类:-p@IraniyaNaynesh是的,大多数UIKit对象都是。子类的子类的子类的子类有一个词吗?我不知道是否有xvar按钮=按钮设置按钮。标题标签使用kvcvar按钮=按钮设置按钮。标题标签使用kvc
let title = firstButton.title(forState: .normal)
secondButton.setTitle(title, for: .normal)