Swift 中的 PFUser logInWithUsernameInBackground - 参数“目标”调用缺少参数

Posted

技术标签:

【中文标题】Swift 中的 PFUser logInWithUsernameInBackground - 参数“目标”调用缺少参数【英文标题】:PFUser logInWithUsernameInBackground in Swift - Missing argument for parameter 'target' call 【发布时间】:2015-06-29 17:14:40 【问题描述】:

我正在为用 Swift 编写的 Parse 实现登录功能。我收到一个错误:

参数“目标”调用缺少参数

我似乎没有遗漏任何参数 - 我正在遵循 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 
    

感谢您的帮助!

【问题讨论】:

【参考方案1】:

您有多余的花括号,并且用户名和密码检查错误。试试下面的代码(请复制和粘贴)它可以工作:

@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!)")
            
        
    

【讨论】:

【参考方案2】:

然后试试这个:

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

编辑 2:好的,抱歉,我不得不查看我的代码,但这就是我为我工作的内容。

声明为

的文本字段
@IBOutlet weak var usernameText: UITextField! 
@IBOutlet weak var passwordText: UITextField! 

登录用户

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

【讨论】:

我删除了 ?,新错误:“无法使用参数列表类型 '(String!, password: String!, (PFUser, NSError) -> Void)' 调用 'logInWithUsernameInBackground'”跨度> 您的用户名和密码变量是如何声明的? 您能否编辑您的原始问题并发布相关代码? 更新了答案以反映新的解决方案。 问题依旧。我缺少参数“目标”的参数

以上是关于Swift 中的 PFUser logInWithUsernameInBackground - 参数“目标”调用缺少参数的主要内容,如果未能解决你的问题,请参考以下文章

解析 PFUser.currentUser 返回 nil - Swift

如何在 swift 中注册使用 ParseUI 的 Facebook 按钮登录的 PFUser?

如何在 Swift 上将 Parse `PFUser` 从`MapView` 传递(抓取)到另一个`ViewController`?

在 Swift 中链接/合并 Facebook 用户和 PFUser(解析)

Swift 以编程方式设置转场

注册后向 PFUser 添加列?解析,斯威夫特