【发布时间】:2017-05-21 17:45:28
【问题描述】:
我可以理解该语句,但是对于转换任何类型都足够好,为什么后面跟一个问号,例如:
if let foo = object as? String
这真的让我很烦。这是否意味着对象是可选的,或者变量foo 的返回值是可选的字符串类型?或者它真的只是一种语言语法?它必须意味着什么,否则为什么它首先存在?这是什么意思? if let 语句中单词后的问号。
我搜索了,没有找到。
我很困惑当然我知道object已经是一个可选的并且被分配给变量foo然后if let如果它可以解包则解包,或者跳出以下语句。
所以if let 解包过程是在as? 类型转换之后发生的,对吗?在 as?casting 示例中的可选字符串之后,if let 正在解包,而不是分配给变量的可选对象类。
【问题讨论】:
-
奇怪,我一搜就找到了:developer.apple.com/swift/blog/?id=23
-
非常感谢您的回答。我阅读并学习了。请在我的帖子中回答我最后编辑的问题。
-
@DaveNewton - 您的链接指向
as!上的博客条目,as?仅在类比中提及。您是否打算链接到as?上的博客条目?