表格视图单元格可选 - swift
问题描述:
我已经研究过这个问题,但没有结束,但继续挣扎。我在创建单元格时看到以下代码写成:cell.textLabel?.text。为什么仅在textLabel上有问号而不是文本?表格视图单元格可选 - swift
根据apple文档,textLabel是UILabel类型的可选属性,text是可选字符串,但我们只使用一个问号?为什么不是两个问题标记,每个可选一个?
答
textLabel
的UITableViewCell
是可选的,因为使用定制单元格时可能会丢失标签。
如果您使用的是带有的4种预定义的样式textLabel
保证存在一个标准单元,你可以放心地解开可选:cell.textLabel!.text
要回答的第一个问号需要Optional Chaining的问题,任何除链条中的最后一个项目(foo.bar.baz
)外必须标记为可选或未包装。如果是最后一个项目,编译器可以通过等号直接与项目“协商”类型匹配。
这是干什么用的?迅速? – GrandMasterFlush
Yes swift language – TDG
'textLabel?.text'表示它检查'textLabel'是否为'nil'。如果是'nil',则不要继续阅读'.text',如果它不是'nil',则继续阅读'.text'。这在各地都适用 – SahyadriChava