我正在使用以下代码:
let jsonData1 = (try? Data(contentsOf: URL(string: "\(label2)")!)) as Data!
var error : NSError?
let ReadableJSON1 = JSON ( data:jsonData1!, options: JSONSerialization.ReadingOptions.mutableContainers, error: nil )
if (error != nil){
let myAlert = UIAlertController(title: "Alert", message: error?.localizedDescription, preferredStyle: .alert) //you can change message to whatever you want.
let okAction = UIAlertAction(title: "Ok", style: .default, handler: nil)
myAlert.addAction(okAction)
self.present(myAlert, animated: true, completion: nil)
return
}
如果应用程序在从链接打开 json 文件时发现错误,则应向用户显示警报。目前它正在崩溃,似乎这些操作没有执行,这就是为什么我没有看到警报。您能帮我解决这个问题吗?
最佳答案
试试这个代码:
var json : [String: AnyObject]? // Property
do {
let jsonData1 = (try? Data(contentsOf: URL(string: "\(label2)")!)) as Data!
json = try JSONSerialization.jsonObject(with: jsonData1, options: JSONSerialization.ReadingOptions.mutableContainers) as! [String: AnyObject]
}
catch let error as NSError {
let myAlert = UIAlertController(title: "Alert", message: error?.localizedDescription, preferredStyle: .alert) //you can change message to whatever you want.
let okAction = UIAlertAction(title: "Ok", style: .default, handler: nil)
myAlert.addAction(okAction)
self.present(myAlert, animated: true, completion: nil)
return
}
希望对你有帮助!快乐编码!
关于swift - 如何处理 swift 3 中的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40639752/