我想從服務器獲取令牌,然後將其分配給令牌變量,以便我可以將其作爲頭部傳遞給我的.post請求方法。無法指定「任何」類型的值來鍵入「字符串?」 Swift 3(iOS)
var token = ["X-Auth-Token": ""]
分配過程
token["X-Auth-Token"] = response.result.value!
這樣做後,我得到了錯誤
不能指定類型的值 「任意」 到類型 「串?」
如何繞過或修復此問題?
滿級:
import Alamofire
import UIKit
class InitialViewController: UIViewController {
let url = "https://api.sis.kemoke.net/auth/login"
var parameters = ["email": "", "password": ""]
var token = ["X-Auth-Token": ""]
// Parameters textfields
@IBOutlet weak var email: UITextField?
@IBOutlet weak var password: UITextField?
// A method for the login button
@IBAction func loginButton(_ sender: UIButton) {
parameters["email"] = email?.text
parameters["password"] = password?.text
Alamofire.request(url, method: .post, parameters: parameters, encoding: URLEncoding.httpBody, headers: nil).responseJSON {
(response) in
print(response.result.value!)
token["X-Auth-Token"] = response.result.value!
}
}
}
僅供參考 - 在'print'語句將導致崩潰。把它移到'if let'裏面。 – rmaddy
謝謝。我從答案中刪除了'print',因爲它對於實現並不重要。 – JPetric