2016-04-17 20 views
2

Ich muss mit EasyMapping arbeiten. Es funktioniert ziemlich gut, wenn ich Wörterbücher von Json parse. Aber jetzt muss ich nur ein Array von Objekten analysieren, so habe ich keinen Schlüssel Weg ... Ich habe Json:Parse JSON Array mit EasyMapping (Swift)

[ 
    { 
     "key1": "dee", 
     "key2": 3232 
    }, 
    { 
     "key1": "deeweewregre", 
     "key2": 5555 
    } 
] 

Also habe ich zwei benutzerdefinierte Klassen. Die erste ist für das Element in Array:

class TheEntry: EKObjectModel { 
    var key1: String! 
    var key2: Int! 
} 

extension TheEntry { 
    override class func objectMapping() -> EKObjectMapping{ 
     let mapping = EKObjectMapping(objectClass: self) 
     mapping.mapPropertiesFromArray(["key1", "key2"]) 
     return mapping 
    } 
} 

Und die andere für Array selbst:

class TheList: EKObjectModel { 
    var entries: [TheEntry]! 
} 

extension TheList { 
    override class func objectMapping() -> EKObjectMapping{ 
     let mapping = EKObjectMapping(objectClass: self) 
     mapping.hasMany(TheEntry.self, forKeyPath: mapping.rootPath) 
     return mapping 
    } 
} 

Aber es funktioniert nicht. Meine App stürzt bei mapping.rootPath ab. Aber ich habe keine Ahnung, wie sonst zu sagen, mit Root-Ebene von Json zu arbeiten. Könnte mir bitte jemand helfen?

+0

Haben Sie es schon lösen? Ich habe gerade das gleiche Problem ... – dmirkitanov

Antwort

0

versuchen, wie diese

mapping.hasMany(TheEntry.self, forKeyPath: "@self")