Sie wollen jede Optional
testen und auspacken, bevor Sie sie verwenden. Dazu gehören auch Modelle wie as?
. Wenn Sie es vermeiden können, sollten Sie nicht erzwingen oder explizit nicht ausgepackt Optional
(mit einem !
markiert) verwenden, weil sie zu unerwarteten Laufzeitabstürzen führen.
import Foundation
// create test data
let testJson = ["profile_image_url": "http://some.site.com/"]
var data: NSData?
// convert to NSData as JSON
do {
data = try NSJSONSerialization.dataWithJSONObject(testJson, options: [])
} catch let error as NSError {
print(error)
}
// decode NSData
do {
// test and unwrap data
if let data = data {
let json = try NSJSONSerialization.JSONObjectWithData(data, options: .AllowFragments)
// test and unwrap cast to String
if let userImage = json["profile_image_url"] as? String {
print("USER IMAGE:\(userImage)")
}
}
} catch let error as NSError {
print(error)
}
machen es genau wie diese 'json [„profile_image_url“] als String?' – HardikDG
@Pyro kraft auszupacken, wo immer möglich zu vermeiden, ist es zu Fehlern und Laufzeit Abstürze führt. – ColGraff
@ luk2302 es funktioniert perfekt. Ich habe ein anderes Problem Lassen Sie Kommentare = unwrapResults.items as! Array Fehler ist mehrdeutige Verwendung von Elementen –