我尝试使用AFNetworking向我自己的服务器发出HTTP POST请求:
let manager = AFHTTPSessionManager()
manager.post(
URL,
parameters: params,
success:
{
(operation, responseObject) -> Void in
if let response = responseObject as? [String: String] {
let alert = UIAlertController(title: response["status"],
message: response["message"],
preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default) {_ in })
self.present(alert, animated: true)
}
},
failure:
{
(operation, error) -> Void in
self.handleError(error as NSError)
})
但是,我收到以下错误:
post(_:parameters:success:failure:) is deprecated
我搜索了AFNetworking迁移指南,但这似乎只提供了Objective-C中的说明,而不是Swift。我在Swift中找不到新的post方法。有任何想法吗?谢谢!
答案 0 :(得分:1)
post(_:parameters:success:failure:) is deprecated
未弃用的版本会添加progress:
。所以在Swift中你使用post(_:parameters:progress:success:failure:)
,例如:
manager.post(URL, parameters: params,
progress: nil,
success: { (operation, responseObject) in },
failure: { (operation, error) in })
答案 1 :(得分:0)
如果你的项目是用Swift编写的,为什么不使用Alamofire?
正如@luke-barry所解释的那样:
AFNetworking和Alamofire是由同一个人(Alamofire 软件基金会),Alamofire是他们的Swift版本 AFNetworking是Objective-C版本。
功能明智,他们是一样的。
有关详细信息,请参阅Swift Alamofire VS AFNetworking。
希望这能帮到你!