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가 클래스 '제목'과 포스터 '를 가져 오지만'포스터 ' 클래스 'src.ObjectMapper를 사용하여 하위 클래스를 매핑하는 방법

내 클래스 '포스터'는 내 배열 '이미지'의 하위 클래스입니다. 예를 들어, 내가 당기는하고있는 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" 
} 
} 

이미 다음과 같은 옵션을 시도했지만 그들은 작동하지 않습니다 포스터 < -지도 [ "포스터 {SRC}"] 포스터 < -지도 [ "포스터"[ "SRC"]]

는 Y 감사하겠습니다 우리의 도움! 어떤 아이디어?

+0

'map [ "poster.src"]'를 사용해 보셨나요? –

답변

2

ObjectMapper를 사용하여 중첩 된 json 객체를 Swift 객체의 속성에 매핑하려고합니다. ObjectMapper는 점 표기법을 지원합니다. 문서 here을보십시오.

이 경우 올바른 구문은 poster <- map["poster.src"]입니다.

+0

정말 고마워요! –

+0

그것은 일했습니다. 고맙습니다. –

+0

도움이 되니 기쁩니다! @DimitriT –