将 MapperObject 映射到模型 - swift

Map MapperObject to Model- swift

我的模型定义为

import ObjectMapper

class UserModel :Mappable{

    var gender: String?
    var name: String?
    var location: String?
    var email: String?

    required init?(_ map: Map) {

    }

    // Mappable
    func mapping(map: Map) {
        gender <- map["gender"]
        name   <- map["name"]["title"]
        location <- map["location"]["street"]
        email <- map["email"]

    }

}

我已经使用对象映射器将 json 映射到模型

var results:Mappable?

让 appUrl = "http://api.randomuser.me/?page=3&results=10"

func requestRandomNamesFromServer(){

        let randomPersonURl = appUrl
        Alamofire.request(.GET, randomPersonURl, parameters: nil,headers:nil).responseJSON { response in

            switch response.result {

            case .Success(let data):

                print(data)
                self.results = Mapper<UserModel>().map(data)
                print(self.results)
                self.tableView.reloadData()


            case .Failure(let error):

                print("Request failed with error: \(error)")


            }
        }

    }

问题是我无法找到在模型中转换回模型以在 TableView.I 中显示的方法,出现以下错误

1) 您试图映射的是一组用户,而不仅仅是一个用户。 第二
2) 可映射接口对用户属性一无所知,所以你必须创建一个 UserModel.

的数组

说到这里,您必须更改以下行:

var results:Mappable?var results = [UserModel]()

self.results = Mapper<UserModel>().map(data)self.results = Mapper<UserModel>().mapArray(data["results"]!)