更新到Xcode 6.3后,通过Parse使用Facebook登录时出现错误

3
我使用了一个教程学习如何通过Parse使用Facebook登录,并逐步按照教程操作。该教程链接为:http://blog.oskoui-oskoui.com/?p=8161。它在Xcode 6.2中运行良好,我的代码没有问题,但是现在更新到Xcode 6.3后,我收到了一个错误提示:“missing argument for parameter 'selector' in call”。这个错误出现在下面代码的“PFFacebookUtils.logInWithPermissions”之后。我尝试了几种方法,但都只得到不同的错误。请问我应该如何解决?
    let permissions = ["public_profile"]



    @IBAction func facebookLogInButton(sender: AnyObject) {

    PFFacebookUtils.logInWithPermissions(permissions: permissions, {

        (user: PFUser!, error: NSError!) -> Void in

        if user == nil {

            NSLog("Uh oh. The user cancelled the Facebook login.")

        } else if user.isNew {

            NSLog("User signed up and logged in through Facebook! \(user)")

        } else {

            NSLog("User logged in through Facebook! \(user)")

        }

    })

}

Parse已经稍微改变了他们的语法,并提供了一个新的Facebook Util框架。您需要更新并查看新的文档。 - mginn
2个回答

0
这可能是Xcode误读错误的情况。在闭包的开头,这两个变量应该使用“?”而不是“!”。代码将会是:
(user:PFUser?, error:NSError?) in

0

这解决了问题。

@IBAction func fbLoginClick(sender: AnyObject) {

    PFFacebookUtils.logInWithPermissions(self.permissions, block: {

        (user: PFUser?, error: NSError?) -> Void in

        if user == nil {

            NSLog("Uh oh. The user cancelled the Facebook login.")

        } else if user!.isNew {

            NSLog("User signed up and logged in through Facebook! \(user)")

        } else {

            NSLog("User logged in through Facebook! \(user)")

        }

    })

}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接