2016-07-22 23 views
0
@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) 
       } 
     } 

    } 

Die Parameter funktionierten einwandfrei, wenn ich den Benutzernamen und das Passwort im Wörterbuch fest codierte. Aber wenn ich es zu einem Textfeld änderte, bekomme ich den Fehler, der Cannot convert value of type [String: String?] to [String: Anyobject]?Alamofire Parameter aus dem Textfeld

sagt Wie kann ich die Parameter anyobject so machen, dass es angenommen würde?

Antwort

0

Die Fehlermeldung zeigt an, dass ein optionaler Typ in params vorhanden ist.

entpacken Sie einfach die Werte, bevor Sie sie verwenden, wenn Sie zur Laufzeit ein Textfeld erstellen. Wenn Sie nicht zur Laufzeit erstellen, verwenden Sie einfach wie

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