将 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"]!)
我的模型定义为
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"]!)