得到可选链的负面影响

这是不允许的(坏表达)

if !(let nsDictionaryObject = swiftObject as? NSDictionary) { "Error could not make NSDictionary in \(self)" return } 

是否可以在1行中检查可选链表达式的否定值?

在Swift 2.0中,您可以使用

 guard let nsDictionaryObject = swiftObject as? NSDictionary else { "Error could not make NSDictionary in \(self)" return } 

这也将nsDictionaryObject绑定到guard语句之外的作用域。

如果你使用的是swift 1.2,你可以这样做:

 if let nsDictionaryObject = swiftObject as? NSDictionary{} else { //your code } 

例如,在Swift 1中,您可以使用else分支或检查nil结果。

 var swiftObject: AnyObject = "" if let _ = swiftObject as? NSDictionary { } else { println("error") } if swiftObject as? NSDictionary == nil { println("error") }