我已经在我的项目中为Alamofire包添加了一些额外的功能,并且出于某种原因,在这个可选绑定中,它会进入If语句,而不是#34;错误"密钥存在与否存在于json中。关于我做错了什么想法?
let JSON = try NSJSONSerialization.JSONObjectWithData(validData, options: options)
if let error = JSON["error"] {
print(error!)
return .ServerError(error as! String)
}
当没有错误时,打印失败并出现"致命错误:在解开可选值时意外发现nil"
答案 0 :(得分:2)
您可以尝试添加as? String
,这有助于可选的解包,如果字符串不存在,则不会在if语句中运行:
let JSON = try NSJSONSerialization.JSONObjectWithData(validData, options: options)
if let error = JSON["error"] as? String {
print(error)
return .ServerError(error)
}
答案 1 :(得分:2)
问题是<section>Section A</section>
<section class="special">Section B</section>
<section class="">Section C</section>
会返回JSONObjectWithData
在这种情况下,您必须将类型转换为适合获得可靠结果的类型AnyObject
Dictionary