2017-01-20 4 views
0

내 프로젝트에서 객체 매퍼를 내 모델로 가져 오는 클래스를 사용합니다. 나는 그들을 사용하여 webAPI 응답을 구문 분석합니다.요청 생성에 객체 매퍼 모델 사용

import UIKit 
import ObjectMapper 

class ReturnModel: Mappable 
{ 
var FilingStatusId : Int? 
var FormName : String? 
var OrderId : String? 

required init?(map: Map) { 

} 

func mapping(map: Map) 
{ 
    FilingStatusId <- map["FilingStatusId"] 
    FormName <- map["FormName"] 
    OrderId <- map["OrderId"] 
} 
} 

웹 API 요청을 생성하려면 지금까지 사전을 사용하고 있습니다. 이제 나는 API 요청을 생성하기 위해 동일한 모델을 사용할 것이라고 생각했습니다.

var returnModel: ReturnModel? = nil 
returnModel?. FilingStatusId = payerModel?. FilingStatusId 
returnModel?. FormName = payerModel?. FormName 
returnModel?. OrderId = payerModel?. OrderId 

그러나 코드를 실행 한 후에도 returnModel에는 'nil'이 있습니다.

+0

왜'nil'을 : 우리가 일반적으로하는 것처럼

init(filingStatusId: Int, formName: String, orderId: String { self.FilingStatusId = filingStatusId self.FormName = formName self.OrderId = orderId } 

그럼 당신은 returnModel을 만들 수 있습니까? 'var returnModel : ReturnModel? = nil' –

+0

만약 초기화하지 않는다면, "변수 'returnModel'이 초기화 전에 사용됩니다. – Mano

답변

1

개체를 초기화하지 않습니다.

var returnModel: ReturnModel? = ReturnModel() 

당신은 이것에 대한 init 방법을 만들 수는 있지만, ObjectMapper 별도로 작동합니다.

let returnModel = ReturnModel(payerModel?. FilingStatusId, formName: payerModel?. FormName, orderId: OrderId = payerModel?. OrderId) 
+1

위에서 말한 것처럼 초기화 할 수 없습니다. 모델 안의 init 메소드는 인수가 있습니다. 매개 변수 '지도'통화 중 " – Mano

+0

답변 됨 업데이트 됨! –

+0

실례합니다. 정말 고마워요. – Mano