Ios Swift-NSDictionary可选值崩溃

Ios Swift-NSDictionary可选值崩溃,ios,xcode,swift,xcode6,Ios,Xcode,Swift,Xcode6,上面我有一个NSArray,我正在循环它,它是通过解析一个JSON文件获得的 我的问题是,我可以看到一些输出,println成功,但应用程序在循环时崩溃。我很确定这是因为我是如何处理NSDictionary可选值的,但我不确定如何绕过它 在打印之前,是否需要检查可选值或这些行上的内容 有什么想法吗 let dataArray = jsonDict["results"] as NSArray; for item in dataArray { let obj = item as NSDict

上面我有一个NSArray,我正在循环它,它是通过解析一个JSON文件获得的

我的问题是,我可以看到一些输出,
println
成功,但应用程序在循环时崩溃。我很确定这是因为我是如何处理NSDictionary可选值的,但我不确定如何绕过它

在打印之前,是否需要检查可选值或这些行上的内容

有什么想法吗

let dataArray = jsonDict["results"] as NSArray;
for item in dataArray {
    let obj = item as NSDictionary

    var destination:String = obj["destination"] as String!
    println(destination)
}

打印前检查可选值修复了问题。

故障不太可能发生在println中。obj[“destination”]可能不存在或不是字符串。请不要显式展开任何内容,除非您100%确定该值在任何情况下都不能为零。除非您尝试崩溃。我刚刚检查了JSON,其中一个对象的目标值很有可能为“null”,所以不是字符串,我如何解决这个问题?我是个敏捷的人noob@Zaph所以我需要在展开之前检查值是否不是nil?你能留下一个答案来说明如何做到这一点吗?@Zaph我很好奇你为什么不建议使用swift(说真的,没有smarty裤子的评论)
let dataArray = jsonDict["results"] as NSArray;
for item in dataArray {
    let obj = item as NSDictionary

    if let foundName = obj["destination"] {
        println("Name: \(foundName)")
    }
}