-1

为什么 controlTextDidChange(_ obj: Notification) 不适用于标签?我希望在标签的 stringValue 更改时调用一个函数 [macOS]

4

1 回答 1

2

controlTextDidChange(andcontrolTextDidBeginEditingcontrolTextDidEndEditing) 是报告用户对可编辑文本字段发起的更改的委托方法。标签不可编辑,因此永远不会发送这些消息。

如果您想要关于程序化标签更改的通知,我建议您使用绑定。(我很确定更改标签值会触发值更改通知。我从未以这种方式使用它,因此您必须验证这一点。)

将控件的文本值简单地绑定到对象的字符串属性可能会更容易(我经常这样做)。然后,您将通过更改该属性来设置标签。需要通知此更改的其他代码可以观察该属性,或将更新逻辑包装在didSet属性观察器中。

于 2019-06-19T16:45:48.753 回答