2017-02-15 119 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)外必须标记为可选或未包装。如果是最后一个项目,编译器可以通过等号直接与项目“协商”类型匹配。

相关问题