コードを Xcode 10 および Swift 4.2 に更新しましたが、このエラーが発生しました。追加の引数。利用可能なすべてのソリューションを試しましたが、おそらく古いバージョンのSwift用です。私はalamofireバージョンを使用しています:Alamofire 4.7.3で、これが私のコードです:
func callRemoveUserApi() {
let token = SharedManager.getAuthenticationToken()
MBProgressHUD.showAdded(to: self.view, animated: true)
let headers = [
"token": token
]
let manager = SharedManager.sharedInstance
let user = manager.getUpCurrentUser()
var params = [String:String]()
params = [
"id": user.removed_member!.description,
"userpath":self.selectedUser.userpath!,
"path":user.path!
]
Alamofire.request(removeMember, method:.put, parameters: params, encoding: JSONEncoder.default, headers: headers).responseJSON { response in
print("Request \(String(describing: response.request))")
print("RESPONSE \(String(describing: response.result.value))")
print("RESPONSE \(response.result)")
print("RESPONSE \(response)")
switch response.result {
case .success:
MBProgressHUD.hide(for: self.view, animated: true)
var tempResponseDict = response.result.value as! NSDictionary
// var array = tempResponseDict.object(forKey: "data") as! NSArray
NotificationCenter.default.post(name: Notification.Name("callMatchesApi"), object: nil)
self.navigationController?.popViewController(animated: true)
break
case .failure( _):
MBProgressHUD.hide(for: self.view, animated: true)
break
}
}
}
解決策: JSONEncoder.default を JSONEncoding.default に変換すると、Alamofire が呼び出されます。
Alamofire.request(mobileInfo, method:.put, parameters: params, encoding: JSONEncoding.default, headers: headers).responseJSON { response in