这段代码曾经在swift 2之前的alamofire的早期版本中工作,现在它给出了一个警告:cast from Result<AnyObject> to Dictionary<String, AnyObject> always fails
。
Alamofire.Manager.sharedInstance.request(.POST, url, parameters:params)
.responseJSON { (request, response, data) -> Void in
var result = data as? Dictionary<String,AnyObject> //this gives an error cast from Result<AnyObject> to Dictionary<String, AnyObject> always fails
我怎样才能让字典中的造型正常工作呢?
发布于 2015-09-15 11:32:04
您需要调用:
Alamofire.request(.POST, url, parameters:params)
.responseJSON { request, response, result in
debugPrint(result)
if let value = result.value as? [String: AnyObject] {
print(value)
}
}
您应该通读更新后的README代码示例。
发布于 2018-05-31 19:01:47
我知道现在回答这个问题有点晚了,但我之所以分享这个,是因为我觉得这段代码也许可以帮助一些人:
Alamofire.request(url, method: .post, parameters: param, encoding: JSONEncoding.default, headers: nil).responseJSON
{
response in
SVProgressHUD.dismiss()
let data = response.result.value
let responseObject = data as? NSDictionary
switch (response.result)
{
case .success(_):
print(responseObject!["message"] as! NSString as String)
break
case .failure(_):
SVProgressHUD.showError(withStatus: (responseObject!["message"] as! NSString as String))
print(responseObject!["message"] as! NSString as String)
break
}
}
谢谢你,祝你愉快!编码愉快!:)
https://stackoverflow.com/questions/32556893
复制相似问题