我正在尝试在我的应用中定期向我的API发布一些内容,每3分钟一次,反过来我有时会提供一些数据,数据无法传递,我发现数据为零,这就是为什么我试图放一个{{ 1}}以下代码的概念:
try/catch
然而,catch语句永远不会起作用,每次我都没有,app var err: NSError?
var json:NSDictionary!
do {
json = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableLeaves) as? NSDictionary
}
catch {
dispatch_async(dispatch_get_main_queue(), { () -> Void in
postCompleted(succeeded: false, msg: "Logged in.")
})
}
内崩溃。
答案 0 :(得分:1)
public class func JSONObjectWithData(data: NSData, options opt: NSJSONReadingOptions) throws -> AnyObject
因为data: NSData
未解包。如果数据为零,则函数将崩溃。你添加
guard let data = data else {
return
}
并且尝试/捕获因为此函数可能会抛出错误。如果数据编码格式不正确,则此函数将抛出错误,您可以捕获catch。
希望它对你有用。