2016-04-26 2 views
0

в моем приложении Я использую AlamofireObjectMapper для сопоставления. первый раз я использую это. вот мой ответ, который я получаю от APIКак сопоставить объект в AlamofireObjectMapper

{ 
Message = "email verification link has been sent to your email. please verify your account."; 
Result =  { 
"V002_vendors_type" = "<null>"; 
"V003_pharmacy" =(); 
"V010_subscription" = "<null>"; 
"attempt_date" = "<null>"; 
created = "2016-04-26T11:07:30.3192745+00:00"; 
email = "[email protected]"; 
"first_name" = abc; 
id = 10167; 
"is_lock" = 0; 
"last_name" = "<null>"; 
mobile = 9999999999; 
password = xxxxxxxxx; 
"profile_Image" = "<null>"; 
status = PV; 
subscription = 1; 
updated = "2016-04-26T11:07:30.3192745+00:00"; 
"Fix_id" = 1; 
}; 
Status = 1; 
} 

теперь это мой код

func pharmacySignUp() 
     { 
      let url = "http://\(basicURL)vendor_signup" 
      let param :[String : AnyObject] = 
       [ 
        "email"  : txtemail.text!, 
        "password" : txtpassword.text!, 
        "mobile"  : txtmobile.text!, 
        "first_name" : txtname.text! 
       ] 

      Alamofire.request(.POST, url, parameters: param, encoding: .JSON).responseObject { (response:Response<signupVarificationCode, NSError>) in 
       print(response.result.value) 
       let signupVarificationCode = response.result.value 
       print(signupVarificationCode) 
       print(signupVarificationCode!.Message) 
       print(signupVarificationCode?.status) 



      } 

это класс, который я сделал для отображения

class signupVarificationCode: Mappable { 
var Message : String? 
var status : String? 


required init?(_ map: Map){ 

} 

func mapping(map: Map) { 
    Message <- map["Message"] 
    status <- map["Status"] 

} 

}

по этому коду я могу получить сообщение, но теперь я хочу отобразить объект Result, чтобы как это сделать?

Благодаря Yuvraj Sinh его работа, но я хочу, чтобы получить доступ ко всем переменному из объекта Result, так что я сделать этот объект

class Result: Mappable { 
var lastName : String? 
var mobile : String? 
var id: String? 

required init?(_ map: Map){ 

} 

func mapping(map: Map) { 
    lastName <- map["last_name"] 
    mobile <- map["mobile"] 
    id <- map["id"] 
} 

}

я хочу напечатать мобильное значение в моем методе pharmacySignup. так как я могу это сделать?

ответ

0
var result:[String:AnyObject] = map[“Result”] as! [String:AnyObject] 

// здесь вы получите словарь в результате с помощью этого Dict вы можете получить любую пару ключей значения // свы просто нормальный разбор надеется, что он будет работать

+0

благодарит приятель его работы, но его дать мне целый объект, но я хочу, чтобы получить доступ ко всем переменному объект, как идентификатор, пароль, электронная почту, так боярышник может я сделай это?? –

+0

, когда вы получаете объект, вы снова делаете то же самое для тех значений, которые вам нужны, например: email = «[email protected]»; из данных, чтобы был тип строки, если letIDID = result ["email"] как? String {} –

+0

для «Id», например // если let idValue = result ["id"] as? Int {/// print (idValue)} –

1

Как ваш параметр Result из Ответ API представляет собой другой объект JSON, который должен быть сопоставлен с Dictionary. Вы можете заменить свой текущий signupVarificationCode следующим.

class signupVarificationCode: Mappable { 
    var Message : String? 
    var status : String? 
    var result : [String:AnyObject]? 

    required init?(_ map: Map){ 

    } 

    func mapping(map: Map) { 
     Message <- map["Message"] 
     status <- map["Status"] 
     result <- map["Result"] as! [String:AnyObject] 
    } 
} 

Если вы хотите пойти более объектно-ориентированный, то вы можете создать отдельный класс для Result и может использовать в таким же образом.

+0

Пожалуйста, см. Мой вопрос, я обновляю свой вопрос. –

0

Вы должны просто верить другой картографический класс под названием Результата

class signupVarificationCode: Mappable { 
    var Message : String? 
    var status : String? 
    var result : Result? 

    required init?(_ map: Map){ 

    } 

    func mapping(map: Map) { 
     Message <- map["Message"] 
     status <- map["Status"] 
     result <- map["Result"] 
    } 
} 

class Result: Mappable { 
     var mobile: String? 

    required init?(_ map: Map){ 

     } 

     func mapping(map: Map) { 
      //Mapping attributtes for example 
      mobile <- map["mobile"] 
     } 
    } 
Смежные вопросы