您可以缩写点符号访问 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' 变量不起作用,因为设置变量的值只会影响该变量,它不会传递回原始 属性.
提前致谢。
var myButtonText: String {
get {
button.title(for: .normal) ?? ""
}
set {
button.setTitle(newValue, for: .normal)
}
}
用法:
myButtonText = "Hello world!"
print(myButtonText)
注意:您不应直接访问 titleLabel
- 而是使用...
title(for:)
用于检索标题
setTitle(_:for:)
用于设置标题
我有一个 UIButton,我需要在不同的上下文中多次更改标签文本。这意味着写作
myButton.titleLabel?.text = "my text"
很多。
有没有什么方法可以简化 .text
属性 的路径,使我的代码更易于阅读并节省一些输入时间?理想情况下是这样的:
myButtonText = "my text"
这在 Swift 中可行吗?将 myButton.titleLabel?.text
分配给 'myButtonText' 变量不起作用,因为设置变量的值只会影响该变量,它不会传递回原始 属性.
提前致谢。
var myButtonText: String {
get {
button.title(for: .normal) ?? ""
}
set {
button.setTitle(newValue, for: .normal)
}
}
用法:
myButtonText = "Hello world!"
print(myButtonText)
注意:您不应直接访问 titleLabel
- 而是使用...
title(for:)
用于检索标题setTitle(_:for:)
用于设置标题