1 回答
TA贡献1906条经验 获得超10个赞
?
和 !
都是对一种类型 Optional
操作的语法糖.
官方解释:
“ An optional value either contains a value or contains nil to indicate that a value is missing. Write a question mark (?) after the type of a value to mark the value as optional.”
大概意思是一个 Optional
类型, 可能有值, 也可能等于 nil
。你可以使用 ?
去询问。
你也可以使用 !
去强制解包, 但当 Optional
没有值时, 会 Crash。
一般来说你也可以这样, 去更安(ma)全(fan)的解包
if let value = someOptional { /* 有值, 返回 true */
print("someOptional != nil")
} else {
print("someOptional == nil")
}
// 在 Swift 2.0 +, 可以使用 guard 关键字, 去更友好构造代码结构
guard let value = someOptional else {
print("someOptional == nil")
return
}
print("someOptional value is \(value)")
具体建议参考: Swift 可选值(Optional Values)介绍
- 1 回答
- 0 关注
- 824 浏览
添加回答
举报