微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift可选类型中“可选的可选”的目的是什么?

我在 Swift Tests source code中找到了一个有趣的功能
func test(_ v: A????,_ cast: (A????) -> B?)

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

我知道这个函数用于测试可选类型,所以它肯定会超越参数v和cast,但实际使用的是“可选的可选项等”.输入Swift(如果有的话)?

当您访问数据时,这些有时会出现在Swift中.

例如,如果您有一个带有值的可选类型的字典,那么您在该字典中查找一个值:

let rockStars: [String: String?] = ["Sting": nil,"Elvis": "Presley","Bono": nil,"Madonna": nil]

let lastName = rockStars["Elvis"]
print(lastName as Any)

06001

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐