UIButton 的 titleLabel 是可选的原因是什么?
通过放置感叹号来隐式解开此选项是否安全?如果不是,当 titleLabel 为 nil 时会出现什么情况?
顺便说一句,我使用 UIButton.titleLabel
来更改无法从 UIButton 直接访问的 UILabel 属性,例如更改字体或多行标签。
最佳答案
最佳实践不是强制展开,但您几乎可以保证 UIButton.titleLabel
在您需要时存在。我不是 100% 确定语法,但它是某种形式的延迟加载,而不是 lazy var titleLabel:UILabel = {}()
就我个人而言,如果您担心展开,我会使用 guard
或 if let
guard let label = myButton.titleLabel else {return}
label.font = .systemFontOfSize(10.0)
if let label = myButton.titleLabel { label.font = .systemFontOfSize(10.0) }
关于ios - UIButton 的 titleLabel 是可选的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40675124/