2016-09-30 1 views
1

Wie ordne ich eine Unterklasse mit ObjectMapper zu? Ich benutze Swift 2.2 und Hyphe, als Beispiel folgt, aber es verwendet keine Unterklassen https://bitbucket.org/hyphe/blog-examples/src/59f61b2d8e68c7d3630b40964c4fe3c191d60de6/fetchData/iOS-TechPost1/?at=master zB meine API zieht die Klassen 'Titel' und Poster ', aber für' Poster 'brauche ich es, um die Sub- Klasse 'src.So ordnen Sie eine Unterklasse mit ObjectMapper zu

Meine Klasse 'Poster' ist eine Unterklasse in meinem Array "Bilder". zB die Json ich ziehen werde in ist:

"title" : "Election", 
"poster" : { 
    "src" : "https://example.site/image" 
    "alt" : "" 

}

Meine rasche Datei für die Klasse ist:

import Foundation 
import RealmSwift 
import ObjectMapper 
import Foundation 
import RealmSwift 
import ObjectMapper 

protocol Meta { 
static func url() -> String 
} 

class Specimen: Object, Mappable, Meta { 
dynamic var title = "" 
dynamic var poster = "" 

} 

//Impl. of Mappable protocol 
required convenience init?(_ map: Map) { 
    self.init() 
} 

func mapping(map: Map) { 

    title <- map["title"] 
    poster <- map["poster"] 
} 

//Impl. of Meta protocol 
static func url() -> String { 
    return "https://example.site/data" 
} 
} 

Ich habe versucht, die folgenden Optionen bereits, aber sie funktionieren nicht: Plakat < - Karte [ "Plakat {} src"] Poster < - Karte [ "Plakat" [ "src"]]

Würde y schätzen unsere Hilfe! Irgendwelche Ideen?

+0

Haben Sie 'map [" poster.src "]'? –

Antwort

2

Nach meinem Verständnis versuchen Sie, ein verschachteltes Json-Objekt mit ObjectMapper einer Eigenschaft eines Swift-Objekts zuzuordnen. ObjectMapper unterstützt die Punktnotation dafür. Bitte werfen Sie einen Blick auf die Dokumentation here.

In diesem Fall lautet die korrekte Syntax: poster <- map["poster.src"].

+0

ich danke Ihnen so sehr! –

+0

es funktionierte ein Charme. Vielen Dank. –

+0

Froh, dass es geholfen hat! @ DimitriT –

Verwandte Themen