2015-06-29 20 views
0

我正在爲使用Swift編寫的Parse實現登錄函數。我得到一個錯誤:PFUser logInWithUsernameInBackground in Swift - 缺少參數'target'的參數調用

Missing argument for parameter 'target' call

它似乎並不像我「米雖然缺少任何參數 - 我按照PFUser.h聲明

這裏是我的代碼:

//Declarations 
@IBOutlet weak var usernameTextField: UITextField! 
@IBOutlet weak var passwordTextField: UITextField! 

@IBAction func loginButtonPressed(sender: UIButton) { 
    let userEmail = usernameTextField.text 
    let userPassword = passwordTextField.text 

    //Check that both fields are filled 
    if usernameTextField != "" && passwordTextField != "" { 
     PFUser.logInWithUsernameInBackground(userEmail, password: userPassword) { 
      (user: PFUser, error: NSError) -> Void in { 
    } 
} 

謝謝您的幫助

回答

0

試試這個,然後:

編輯: PFUser.logInWithUsernameInBackground(username.text as String!, password: password.text as String!){ (loggedInuser: PFUser?, signupError: NSError?) -> Void in

編輯2:好的抱歉,我不得不看我的代碼,但這裏是我爲我工作。

文本字段宣佈

PFUser.logInUserInBackground(usernameText.text, password: passwordText.text) {(user: PFUser?, error: NSError?) -> Void in ....} 
+0

什麼是新錯誤? – pbush25

+0

我刪除了?,新錯誤:「無法用參數列表類型'(String!,password:String !,(PFUser,NSError) - > Void)調用'logInWithUsernameInBackground''」 – patrickhuang94

+0

您的用戶名和密碼變量是如何聲明的? – pbush25

1

@IBOutlet weak var usernameText: UITextField! 
@IBOutlet weak var passwordText: UITextField! 

登錄的用戶,您有額外的大括號和用戶名和密碼檢查是錯誤的。嘗試下面的代碼(請複製&粘貼)它的工作原理:

@IBAction func loginButtonPressed(sender: UIButton) { 
    let userEmail = usernameTextField.text 
    let userPassword = passwordTextField.text 

    if !userEmail.isEmpty && !userPassword.isEmpty { 
     PFUser.logInWithUsernameInBackground(userEmail, password: userPassword) { (user, error) -> Void in 
      if error == nil { 
       println("succesful") 
      } else { 
       println("error: \(error!.userInfo!)") 
      } 
     } 
    } 
}