UIButton的titleLabel是可選的原因是什麼?UIButton的titleLabel是可選的原因是什麼?
通過放置感嘆號隱式解開此可選項是否安全?如果不是,titleLabel爲零的情況如何?
順便說一下,我使用UIButton.titleLabel
來更改UIButton無法直接訪問的UILabel屬性,例如更改字體或具有多行標籤。
UIButton的titleLabel是可選的原因是什麼?UIButton的titleLabel是可選的原因是什麼?
通過放置感嘆號隱式解開此可選項是否安全?如果不是,titleLabel爲零的情況如何?
順便說一下,我使用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) }
因爲Button可以沒有任何Title
分配給它。有時只需要圖像。
因此,在某些情況下,如果您嘗試訪問按鈕的標題而未指定該標題,則應用程序可能會崩潰。
不正確。 'let btn = UIButton()'後跟'print(btn.titleLabel == nil)'總是打印錯誤,據我所知。 –
很好解釋,謝謝! – AamirR