表视图单元格可选 - 快速

时间:2017-02-15 13:27:45

标签: swift optional

我已经研究过这个问题,但是还是继续努力。我在创建单元格时看到以下代码编写为:cell.textLabel?.text。为什么只在textLabel上有问号而不是文本?

根据apple文档,textLabel是UILabel类型的可选属性,text是可选字符串,但我们只使用一个问号?为什么不是两个问题标记,每个选项一个?

1 个答案:

答案 0 :(得分:0)

textLabel的{​​{1}}是可选的,因为使用自定义单元格时标签可能会丢失。

如果您正在使用具有4种预定义样式之一的标准单元格UITableViewCell,则保证存在,您可以放心地打开可选项:textLabel

要回答问题,{​​{3}}需要第一个问号,除了链中的最后一项(cell.textLabel!.text)之外的任何可选项都必须标记为可选或未展开。如果是最后一项,编译器可以"协商"类型与等号上的项目直接匹配。