我是 iOS 和 Swift 开发环境的新手。我试图使用 Alamofire 拉 JSON 和 AlamofireObjectMapper 将检索到的 JSON 集合映射回我的 Swift 对象。
问题是我能够通过 Alamofire 请求获取 JSON 并显示计数,但映射部分似乎显示为零。是我一直错过的东西。感谢帮助。
模型类
import UIKit
import CoreLocation
import ObjectMapper
class BranchObjectMapper : Mappable {
// MARK: Properties
var id: Int?
var cityId: Int?
var areaId: Int?
var name: String?
var nameAr: String?
var branchAddr: String?
var branchAddr2: String?
var location: CLLocation?
required init?(_ map: Map) {
mapping(map)
}
func mapping(map: Map) {
id <- map["id"]
cityId <- map["cityId"]
areaId <- map["areaId"]
name <- map["name"]
nameAr <- map["nameAr"]
branchAddr <- map["branchAddr"]
branchAddr2 <- map["branchAddr2"]
location <- map["location"]
}
}
请求参与viewDidLoad()
Alamofire.request(.GET, UrlEndpoints.branchUrl()).responseArray { (response: Response<[BranchObjectMapper], NSError>) in
self.branchList = response.result.value!
print(self.branchList.count) // count is correct
for branch in self.branchList {
print(branch.id) // prints nil
print(branch.id) // prints nil
}
}
提前致谢
完整的 JSON 响应如下所示。在 Model 中只构建了需要的。
[{"Id":"16","areaId":"17","name":"Al Aqiq","cityId":4","Zip":"","nameAr":"\u0637\u0631 \u064a\u0642 \u0627\u0644\u0645","branchAddr":"test","branchAddr2":"test"Latitude":"24.60425","Longitude":"46.629631","cityId":"1"} ]