1

私のモデルは次のように定義されています

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?

let 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 で表示するためにモデルに戻す方法がわからないことです。次のエラーが表示されます。 ここに画像の説明を入力

4

1 に答える 1

1

1)マップしようとしているのは、1人のユーザーだけではなく、ユーザーの配列です。2 番目
の 2) マッピング可能なインターフェイスはユーザー プロパティについて何も認識しないため、の配列を作成する必要がありますUserModel

これにより、次の行を変更する必要があります。

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

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

于 2016-05-19T16:13:54.483 に答える