我正在阅读 Apple 关于可选绑定的开发人员文档
为什么我不能使用:
如果有一些可选的?{
陈述
}
代替
if let constantName = someOptional {
陈述
}
为什么不需要局部变量或常量?
我正在阅读 Apple 关于可选绑定的开发人员文档
为什么我不能使用:
如果有一些可选的?{
陈述
}
代替
if let constantName = someOptional {
陈述
}
为什么不需要局部变量或常量?
为什么我不能使用:if someOptional?{...}
因为可选变量上的后缀是为可选链接?
保留的,它允许您访问属性或调用给定可选变量的方法。例如:
// returns an optional version of a given property
let aProperty = anOptional?.someProperty
// calls the method if aProperty contains a value – otherwise doesn't
aProperty?.doSomething()
如果您只想检查一个可选项是否包含一个值,但不关心该基础值,您可以简单地将其与nil
. 例如:
if anOptional != nil {
// do something
}
简单的答案是 someOptional 是 Optional,而 constantName 是 Type。
Optional 不仅仅是变量的状态,它是一种完全不同的类型。如果你设置var someOptional: String?
为var someOptional: String
,你并没有解开 someOptional,你实际上是在改变 someOptional 的类型。
它在功能上与更改var someOptional: String
为相同var someOptional: Int