私はGET
メソッドでコードをフェッチするのにjson
を働いていますが、追加するとPOST
に変換します。URLRequestのSwift 3でhttpMethod = POSTを使用するには?
request.httpMethod = "POST"
私には、
はプロパティに割り当てることができません:「HTTPMETHOD」それを修正する方法を以下の下
私のコードのget専用プロパティのエラーですか?どのように私はそれは私が行う必要がある変更POST
方法のために、parameters
内get
方法私の変数については、以下の下でもPOST
@discardableResult
open func getLoginMethod(_ method: String, parameters: String, completionHandler: @escaping (_ login: [Login]?, _ error: Error?) -> Void) -> URLSessionTask! {
let session = URLSession.shared
guard let url = NSURL(string: parameters) else {
completionHandler(nil, myErrors.InvalidUrlError)
return nil
}
let request = NSURLRequest(url: url as URL)
let task = session.dataTask(with: request as URLRequest) { data, response, error in
if error != nil {
completionHandler(nil, myErrors.getError)
} else {
do {
let login = try self.getLogin(jsonData: data! as NSData)
completionHandler(login, nil)
} catch {
completionHandler(nil, error)
}
}
}
task.resume()
return task
}
に私の呼び出し元のコードを変換することができますか?あなたはhttpMethod
を変更できるようにNSMutableURLRequest
を使用する必要が
AWLoader.show(blurStyle: .dark, shape: .Circle)
DispatchQueue.global(qos: .background).async {
myApp.sharedInstance().getLoginMethod("", parameters: "http://bla.com/Post?Phone=\(self.phone.text)") {login, error in
if error != nil {
DispatchQueue.main.async {
// self.showAlert()
print(error!)
AWLoader.hide()
}
} else {
DispatchQueue.main.async {
self.getlogin = login!
// self.collectionView.reloadData()
// AWLoader.hide()
// self.loginButton.alpha = 0
print(self.getlogin)
AWLoader.hide()
}
}
}
}
おかげ
'NSURLRequest'は' NSMutableURLRequest'があり、変更できません。なぜあなたは 'URLRequest'(もっとスウィフト的なもの)を使わないのですか? – Larme