Nel mio modello di oggetti Realm ho un oggetto chiamato "Event". Ogni evento ha un elenco di EventLocatons. Sto cercando di mappare questi oggetti da JSON, ma l'elenco di EventLocations è sempre vuoto. Gli oggetti simile a questa (semplificato per chiarezza):Come mappare un elenco di reame di oggetti personalizzati usando il protocollo Mappable in Swift
class Event: Object, Mappable {
override class func primaryKey() -> String? {
return "id"
}
dynamic var id = ""
var eventLocations:List<EventLocation> = List<EventLocation>()
func mapping(map: Map) {
id <- map["id"]
eventLocations <- map["eventLocations"]
}
}
class EventLocation: Object, Mappable {
override class func primaryKey() -> String? {
return "id"
}
dynamic var id: String = ""
dynamic var name: String = ""
required convenience init?(_ map: Map) {
self.init()
}
func mapping(map: Map) {
id <- map["id"]
name <- map["name"]
}
}
JSON, che ho è un array di oggetti evento. Proviene da una risposta Alamofire e ho la mappa in quel modo:
var events = Mapper<Event>().mapArray(json!)
JSON è simile al seguente:
[
{
"id" : "21dedd6d",
"eventLocations" : [
{
"name" : "hh",
"id" : "e18df48a",
},
{
"name" : "tt",
"fileId" : "be6116e",
}
]
},
{
"id" : "e694c885",
"eventLocations" : [
{
"name" : "hh",
"id" : "e18df48a",
},
{
"name" : "tt",
"fileId" : "be6116e",
}
]
}
]
Qualcuno sa come posso mappare un elenco di oggetti personalizzati utilizzando il protocollo mappabili. Whay è la lista "eventLocations" sempre vuota?
Questa è la migliore soluzione, il regno funziona con gestito, quindi non può dichiarare lista di tipo var, usa sempre let! Grazie! –