【发布时间】:2015-02-12 10:45:31
【问题描述】:
我尝试掌握 Swift 以及如何最好地将 nil 和有效对象与可选项分开。
我有这个代码:
var my AwesomeDict = [:]()
...
... (myAwesomeDict gets populated)
...
let myOptionalObject:objectClass? = myAwesomeDict[key]
if let myUnwrappedObject = myOptionalObject {
...
} else {
println("Sorry, object is nil")
}
当我在 if 子句周围加上括号时(我觉得它提高了可读性),XCode 将用编译器错误标记该行:
模式变量绑定不能出现在表达式中
有什么不同
if (let myUnwrappedObject = myOptionalObject) {
来自
if let myUnwrappedObject = myOptionalObject {
?可悲的是,文档没有提到 if 条件周围大括号的影响。看来我需要使用无括号版本,但想了解原因。
【问题讨论】: