我可以理解这个语句,但是由于它很容易转换成任何类型,所以为什么后面要加上一个问号呢?
这真的让我很纠结。它是指对象是可选的,还是变量"foo"的返回值是一个可选的字符串类型?还是仅仅意味着语言语法上的一种表达形式?它肯定有意义,否则为什么要在首位加上它?在
我搜索了一下,但是没有找到答案。
我感到困惑,因为我知道
所以,在
if let foo = object as? String
这真的让我很纠结。它是指对象是可选的,还是变量"foo"的返回值是一个可选的字符串类型?还是仅仅意味着语言语法上的一种表达形式?它肯定有意义,否则为什么要在首位加上它?在
if let
语句中,问号后面的单词是什么意思?我搜索了一下,但是没有找到答案。
我感到困惑,因为我知道
object
已经是可选的,并且被赋给了变量foo
,然后if let
会尝试去解包它,如果可以的话,就执行以下语句。所以,在
as?
类型转换之后,if let
的解包过程是发生在哪里?在从示例中转换为可选字符串之后,if let
解开的是它而不是分配给该变量的可选对象类。
as!
和as?
的博客文章,只是在类比中提到了as?
。你可能想链接到一个关于as?
的博客文章吗? - CRD