小编sta*_*mon的帖子

Swift可选链接总是使用if let构造完成,还是仅使用带有可选项的问号完成?

根据Apple文档,可选链接如下:

如果可选值为非零,则通过在要调用属性,方法或下标的可选值之后放置问号(?)来指定可选链接....当可选项为零时,可选链接优雅地失败...

我对此的解释是,以下结构是可选链接:

someMasterObject.possiblyNilHandler?.handleTheSituation()

...如果处理程序不是nil,则上面的行将调用handleTheSituation方法,如果处理程序为nil,则优先失败(跳过行).

但是,我看到的可选链接的几乎所有示例都使用"if let"构造,如下所示:

if let handler = someMasterObject.possiblyNilHandler{
  handler.handleTheSituation()
}
Run Code Online (Sandbox Code Playgroud)

事实上,我在网上找到的文档和示例大量使用了与可选链接相关的"if let"结构,看起来似乎是IS可选链接.

但是,我是否正确假设我的第一个示例是支持使用可选链接,并且if let构造是使用(或紧密绑定)可选链接的另一个构造?

swift optional-chaining

4
推荐指数
2
解决办法
3572
查看次数

标签 统计

optional-chaining ×1

swift ×1