如何修复这个 dictionaryValue
how to fix this dictionaryValue
Alamofire.request(.GET, "https://maps.googleapis.com/maps/api/place/details/json", parameters:["placeid": x , "key":"AIzaSyAasdaXW-j8DIgGjY58_HdrasdaqqA"])
.responseJSON { (responseData) -> Void in
//debugPrint(responseData)
switch responseData.result{
case .Success(let req):
let response = JSON(req)
let items = response["result"]["geometry"]["location"].dictionaryValue
let lat: Double = Double(items["lat"]!.doubleValue)
let lng: Double = Double(items["lng"]!.doubleValue)
print(lat,lng)
for item in items{
self.mapResult.append(mapModel(json:item)) // *THIS ERROR AS CANNOT CONVERT VALUE of TYPE '(STRING:JSON)' to EXPECTED ARGUMENT TYPE 'JSON'
}
case .Failure(let err):
print("Request failed with error: \(err)")
}
}
你的items
是一个字典,那么你必须这样迭代它:
for (key, value) in items {
}
这样您就可以将值传递给该函数,而不是将字典元素传递给它。您看到的错误是告诉您您正在传递一个字典参数 (String:JSON) 而它需要一个 JSON 参数。
Alamofire.request(.GET, "https://maps.googleapis.com/maps/api/place/details/json", parameters:["placeid": x , "key":"AIzaSyAasdaXW-j8DIgGjY58_HdrasdaqqA"])
.responseJSON { (responseData) -> Void in
//debugPrint(responseData)
switch responseData.result{
case .Success(let req):
let response = JSON(req)
let items = response["result"]["geometry"]["location"].dictionaryValue
let lat: Double = Double(items["lat"]!.doubleValue)
let lng: Double = Double(items["lng"]!.doubleValue)
print(lat,lng)
for item in items{
self.mapResult.append(mapModel(json:item)) // *THIS ERROR AS CANNOT CONVERT VALUE of TYPE '(STRING:JSON)' to EXPECTED ARGUMENT TYPE 'JSON'
}
case .Failure(let err):
print("Request failed with error: \(err)")
}
}
你的items
是一个字典,那么你必须这样迭代它:
for (key, value) in items {
}
这样您就可以将值传递给该函数,而不是将字典元素传递给它。您看到的错误是告诉您您正在传递一个字典参数 (String:JSON) 而它需要一个 JSON 参数。