2017-02-15 251 views
0

我已經研究過這個問題,但沒有結束,但繼續掙扎。我在創建單元格時看到以下代碼寫成:cell.textLabel?.text。爲什麼僅在textLabel上有問號而不是文本?表格視圖單元格可選 - swift

根據apple文檔,textLabel是UILabel類型的可選屬性,text是可選字符串,但我們只使用一個問號?爲什麼不是兩個問題標記,每個可選一個?

+0

這是幹什麼用的?迅速? – GrandMasterFlush

+0

Yes swift language – TDG

+0

'textLabel?.text'表示它檢查'textLabel'是否爲'nil'。如果是'nil',則不要繼續閱讀'.text',如果它不是'nil',則繼續閱讀'.text'。這在各地都適用 – SahyadriChava

回答

0

textLabelUITableViewCell是可選的,因爲使用定製單元格時可能會丟失標籤。

如果您使用的是帶有的4種預定義的樣式textLabel保證存在一個標準單元,你可以放心地解開可選:cell.textLabel!.text

要回答的第一個問號需要Optional Chaining的問題,任何除鏈條中的最後一個項目(foo.bar.baz)外必須標記爲可選或未包裝。如果是最後一個項目,編譯器可以通過等號直接與項目「協商」類型匹配。

相關問題