来自textfield的Alamofire参数

时间:2016-07-22 06:42:38

标签: swift alamofire

@IBAction func login(sender: UIButton) {
        let parameters = [
            "username": usernameTextField?.text,
            "password": passwordTextField?.text
        ]


        Alamofire.request(.POST, "http://192.168.1.107:8080/api/v1/user/login", parameters: parameters, encoding: .JSON)
            .validate()
            .responseJSON { response in
                switch response.result {
                case .Success(let JSON):
                    print("Validation Successful")
                    if (JSON["status"] as! String != "Success") {
                        self.popup("Invalid Account", message: "Please check your username and password and try again")
                    }
                case .Failure(let error):
                    print(error)
                }
        }

    }

当我在字典中硬编码用户名和密码时,参数工作正常。但当我将其更改为文本字段时,我得到的错误是Cannot convert value of type [String: String?] to [String: Anyobject]?

如何将参数设为anyobject以便接受?

1 个答案:

答案 0 :(得分:0)

错误消息显示params中有可选类型。

如果要在运行时创建文本字段,请在使用之前解包值。 如果不在运行时创建,只需使用它

let parameters = [
        "username": usernameTextField.text,
        "password": passwordTextField.text
    ]