您可以缩写点符号访问 Swift 中的属性吗

Can you abbreviate dot notation access to properties in Swift

我有一个 UIButton,我需要在不同的上下文中多次更改标签文本。这意味着写作

myButton.titleLabel?.text = "my text"

很多。

有没有什么方法可以简化 .text 属性 的路径,使我的代码更易于阅读并节省一些输入时间?理想情况下是这样的:

myButtonText = "my text"

这在 Swift 中可行吗?将 myButton.titleLabel?.text 分配给 'myButtonText' 变量不起作用,因为设置变量的值只会影响该变量,它不会传递回原始 属性.

提前致谢。

computed property怎么样?

var myButtonText: String {
    get {
        button.title(for: .normal) ?? ""
    }
    set {
        button.setTitle(newValue, for: .normal)
    }
}

用法:

myButtonText = "Hello world!"
print(myButtonText)

注意:您不应直接访问 titleLabel - 而是使用...