消除可选链

时间:2015-08-14 06:53:28

标签: ios swift optional-chaining

这是不允许的(不良表达)

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

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

3 个答案:

答案 0 :(得分:9)

在Swift 2.0中,您可以使用

nsDictionaryObject

这也会将source 'https://github.com/CocoaPods/Specs.git' platform :ios, '8.0' use_frameworks! pod 'AFNetworking', '~> 2.5' 绑定到guard语句之外的范围。

答案 1 :(得分:0)

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

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

    //your code

}

答案 2 :(得分:0)

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

var swiftObject: AnyObject = ""

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

if swiftObject as? NSDictionary == nil {
    println("error")
}