2016-11-07 8 views
7

ich dieses Problem habe versucht, eine JSON auf meinem iOS-App zu analysieren:Fehler von hier geworfen werden nicht behandelt

JSON Problem

Relevante Code:

let jsonData:NSDictionary = try JSONSerialization.jsonObject(with: urlData! as Data, options: JSONSerialization.ReadingOptions.mutableContainers) as! NSDictionary 

/* XCode error ^^^ Errors thrown from here are not handled */ 

jemand mir helfen könnte?

+3

Bitte poste deinen Code nicht als Bild. Kopieren Sie den entsprechenden Code und fügen Sie ihn in Ihre Frage ein. Fügen Sie auch die vollständige Fehlermeldung als Text in Ihre Frage ein und geben Sie an, welche Zeile den Fehler verursacht. – rmaddy

+0

Und wenn Sie Swift 3 verwenden, verwenden Sie Swift 3 Typen. Verwenden Sie 'Data', nicht' NSData'. Verwenden Sie "Fehler", nicht "NSError". Verwenden Sie Swift-Arrays und Wörterbücher, nicht 'NSArray' und' NSDictionary'. – rmaddy

+0

Und tun Sie, was die Fehlermeldungen Ihnen vorschreiben. Sie verwenden "versuchen", aber es ist nicht in einem richtigen Do-Catch-Bereich ... – Moritz

Antwort

27

Ein möglicher Fehler in let jsonData = try JSONSerialization ... wird nicht behandelt.

Sie können einen möglichen Fehler und Absturz als Strafe ignorieren, wenn ein Fehler auftritt:

let jsonData = try! JSONSerialization ... 

oder eine Optional zurückkehren, jsonData so ist nil im Fehlerfall:

let jsonData = try? JSONSerialization ... 

oder Sie können abfangen und behandeln die geworfenen Fehler:

do { 
    let jsonData = try JSONSerialization ... 
    //all fine with jsonData here 
} catch { 
    //handle error 
    print(error) 
} 

Vielleicht möchten Sie studieren The Swift (3) Language

+0

Sie haben eine Abstimmung verdient! Ich bin neu in Swift! Oh Mann, Swift ist zuerst eine Nervensäge! <3 –

Verwandte Themen