小编典典

为什么要创建“隐式解包选项”,因为这意味着您知道存在价值?

all

为什么要创建“隐式展开可选”而不是仅创建常规变量或常量?如果您知道它可以成功解包,那么为什么要首先创建一个可选项?例如,为什么会这样:

let someString: String! = "this is the string"

将比以下更有用:

let someString: String = "this is the string"

如果“可选项表明允许常量或变量具有‘无值’”,但“有时从程序的结构中可以清楚地看出,在第一次设置该值之后,可选项将始终具有值”
,首先将其设为可选有什么意义?如果你知道一个可选项总是有一个值,那不是让它不是可选的吗?


阅读 106

收藏
2022-03-13

共1个答案

小编典典

考虑一个对象在构造和配置时可能具有 nil 属性的情况,但之后是不可变且非 nil 的(NSImage
通常以这种方式处理,尽管在这种情况下,有时变异仍然有用)。隐式展开的可选项会很好地清理其代码,安全性损失相对较低(只要有一个保证,它就是安全的)。

(编辑)但要明确一点:常规选项几乎总是更可取的。

2022-03-13