2

这是不允许的(错误的表达方式)

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

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

4

3 回答 3

10

在 Swift 2.0 中,您可以使用

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

这也将绑定nsDictionaryObject到保护语句之外的范围。

于 2015-08-14T06:56:18.553 回答
0

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

if let nsDictionaryObject = swiftObject as? NSDictionary{} else {

    //your code

}
于 2015-08-14T06:59:26.927 回答
0

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

var swiftObject: AnyObject = ""

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

if swiftObject as? NSDictionary == nil {
    println("error")
}
于 2015-08-14T07:02:11.663 回答