什么是"可选的选择"的目的是什么?在Swift可选类型?

时间:2018-04-30 20:06:26

标签: swift optional

我在Swift Tests source code中找到了一个有趣的功能:

func test(_ v: A????, _ cast: (A????) -> B?)

由于Type?只是Optional<Type>的语法糖,这意味着参数v的类型可以重写为Optional<Optional<Optional<Optional<A>>>>

我知道这个函数用于测试可选类型,所以它肯定会过度使用参数vcast,但实际使用的是&#34; an可选的等等。&#34;输入Swift(如果有的话)?

1 个答案:

答案 0 :(得分:3)

当您访问数据时,有时会出现在Swift中。

一个例子是如果你有一个带有值的可选类型的字典,然后你在该字典中查找一个值:

Optional(Optional("Presley"))
  
nil
  

这是因为当不存在时,字典查找可能会失败,并且在这种情况下它会返回rockStars。因此,字典查找的返回类型必须是包含在可选项中的值类型。从String??字典查找会返回onPress