2016-11-16 4 views
0

나는 다음과 같은 코드를 사용하고 있습니다 : JSON 파일 링크를 형성 열 때 응용 프로그램이 오류를 발견하면신속한 오류 처리 방법 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 
    } 

를, 사용자에게 경고를 표시해야합니다. 현재로서는 충돌이 일어나고 있으며 이러한 조치가 실행되지 않아서 경고를 보지 못하는 것 같습니다. 그 문제를 해결하는 방법을 알려주십시오. enter image description here

+0

'시도''캐치'를 사용하지 않은 이유가 무엇입니까? 기구? – 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