2016-09-30 3 views
1

Как сопоставить подкласс с ObjectMapper? Я использую swift 2.2 и Hyphe, следуя этому в качестве примера, но не использует подклассы https://bitbucket.org/hyphe/blog-examples/src/59f61b2d8e68c7d3630b40964c4fe3c191d60de6/fetchData/iOS-TechPost1/?at=master Например, мой API потянул названия классов и плакатов, но для «плаката» мне нужно найти суб- class 'src.Как сопоставить подкласс с ObjectMapper

My class 'poster' - это подкласс в массиве "images". например Json я втягивая является:

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

}

Мой быстры файл для класса:

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" 
} 
} 

Я попытался следующие варианты уже, но они не работают: плакат < - карта [ "плакат {ЦСИ}"] постер < - карта [ "плакат" [ "ЦСИ"]]

бы оценить у наша помощь! Есть идеи?

+0

Вы пробовали 'map [" poster.src "]'? –

ответ

2

В моем понимании вы пытаетесь отобразить вложенный объект json в свойство объекта Swift с помощью ObjectMapper. ObjectMapper поддерживает точечные обозначения для этого. Пожалуйста, ознакомьтесь с документацией here.

В этом случае правильный синтаксис: poster <- map["poster.src"].

+0

большое спасибо! –

+0

он работал шармом. Спасибо. –

+0

Рад, что это помогло! @DimitriT –

Смежные вопросы