Mein Code funktionierte perfekt vor Swift 4, ich analysiere gerade eine einfache JSON-Datei, und ich ordne alles in meine Modellklasse ein.Swift 4 - Problem mit ObjectMapper beim Analysieren von JSON
Hier ist mein Beispielcode:
Als erstes habe ich meine Json-Datei.
if let path = Bundle.main.path(forResource: "myFile", ofType: "json") { }
Dann kann ich es analysieren.
do {
let jsonData = try Data(contentsOf: URL(fileURLWithPath: path), options: NSData.ReadingOptions.mappedIfSafe)
let json = JSON(data: jsonData)
if let jsonZones = json["zones"].array {
let parsedZones = Mapper<Zone>().mapArray(JSONObject: jsonZones.description)
parsedZones?.forEach({ (element) -> Void in
// Do stuff...
})
}
Jetzt kann ich zeige dir meine Zone Klasse
class Zone: Object, Mappable {
@objc dynamic var code: String?
required convenience init?(map: Map) {
self.init()
mapping(map: map)
}
func mapping(map: Map) {
code <- map["code"]
}
Sie auch meine brauche meine JSON-Datei, um zu sehen:
{
"info": {
....
....
},
"zones": [{
"code": "EN"
}],
}
Ich abstürzt, weil parsedZones null ist. Ich weiß, dass ich auf Null überprüfen kann, aber es funktionierte auf Swift 3 und ich änderte nichts vor der Konvertierung zu Swift 4. In Bezug auf meine JSON-Datei sollte es nicht Null sein.
Kann ich Hilfe haben?
'JSONEncoder/Decoder' in Swift 4 macht' ObjectMapper' ziemlich veraltet;) – vadian
Können Sie das konkretisieren @vadian sein? Ich bin sehr interessiert – Balanced
Bitte beachten Sie die WWDC-Videos über Was ist neu in Swift und Foundation. – vadian