2016-11-16 10 views
0

Я использую следующий код:Как работать с ошибками в быстрых 3?

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 сформировать ссылку, он должен отображать предупреждение пользователя. В настоящий момент это сбой, и кажется, что эти действия не выполняются, и поэтому я не вижу предупреждения. Не могли бы вы помочь мне решить эту проблему. enter image description here

+0

Любая причина, по которой вы не используете 'try'' catch'? механизм? – Honey

+0

Как например? – Dakata

+1

С Swift 2.2, (NS) Ошибка управляется с помощью try/catch: https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/AdoptingCocoaDesignPatterns.html – Larme

ответ

0

Попробуйте этот код:

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 
} 

Надеется, что это поможет! Счастливое кодирование!

+0

Где я должен использовать этот код, потому что я не вижу, как читается ссылка json здесь – Dakata

+0

, вам нужно прочитать данные ответа внутри блока do {} , Я отредактировал ответ. пожалуйста, проверьте – iProgrammer

+0

Это не работает :( – Dakata

 Смежные вопросы

  • Нет связанных вопросов^_^