是什么原因UIButton的标题标签是可选的?

时间:2016-11-18 10:46:48

标签: ios swift uibutton

UIButton的标题标签是可选的原因是什么?

通过放置感叹号隐式解开此可选项是否安全?如果不是,那么当titleLabel为nil时是什么情况?

BTW,我使用UIButton.titleLabel更改UIRabel属性,这些属性无法直接从UIButton访问,例如更改字体或具有多行标签。

2 个答案:

答案 0 :(得分:1)

最佳做法不是强行打开包装,但您可以在需要时保证存在UIButton.titleLabel。我不是100%确定语法,但它是某种形式的延迟加载而不是lazy var titleLabel:UILabel = {}()

我个人会说,如果你担心打开我会使用guardif let

guard let label = myButton.titleLabel else {return}
label.font = .systemFontOfSize(10.0)

if let label = myButton.titleLabel { label.font = .systemFontOfSize(10.0) }

答案 1 :(得分:1)

因为Button可以没有分配任何Title。有时只需要Image。

因此,在某些情况下,当您尝试访问Button的标题时,如果不指定一个,则应用程序可能会崩溃。