私はここで私はAlamofire
を通じて私のバックエンドのコードを呼んでいるSwift
のコードを持っている:メンバーjsonObjectへのあいまいな参照のため、alamofireコードをコンパイルできません。どうして?
Alamofire.request(url, method: .post, parameters: (parameters), encoding: JSONEncoding.default)
.validate()
.responseJSON { response in
switch response.result {
case .success:
do {
if let jsonData = try JSONSerialization.jsonObject(with: response.result.value, options:.allowFragments) as? [String:Any] {
for requestJSON in jsonData["geojson"]["features"] {
if let request = SingleCluster.fromJSON(JSON(requestJSON)){
let pinOne = CustomCluster()
pinOne.coordinate = CLLocationCoordinate2D(latitude: request.latitude, longitude: request.longitude)
pinOne.amount = request.amount
self.eventsArray.append(pinOne);
}
}
}
} catch let err{
print(err.localizedDescription)
}
completionHandler!()
case .failure(let error):
print("error")
}
}
問題は、この行ということです:
Ambiguous reference to member 'jsonObject(with:options:)'
:
if let jsonData = try JSONSerialization.jsonObject(with: response.result.value, options:.allowFragments) as? [String:Any] {
がエラーをもたらします
[String:Any]
または[String:AnyObject]
にキャストしようとしましたが、何も変更されませんでした。私はここで間違って何をしていますか?
おそらく以下のSOスレッドは役に立ちますか? http://stackoverflow.com/questions/40558133/serializing-json-object-with-alamofire – Fahim
@Fahimええ私はそれを見ましたが、答えにコードスニペットがないために、この答えを使う:( – user3766930