接收错误“可选类型'$ T3'不能用作布尔值;而是测试'!= nil'

时间:2015-01-02 05:15:50

标签: swift parse-platform pfuser

我已经尝试过'!= nil'正如错误所暗示的那样。但那也不起作用。

下面是我的TableViewController

中的代码
func viewDidAppear(animated: Bool) {
if (!PFUser.currentUser()) {
    var loginAlert:UIAlertController = UIAlertController(title: "Sign Up / Log In", message: "Please Sign Up or Log In", preferredStyle: UIAlertControllerStyle.Alert)

    loginAlert.addTextFieldWithConfigurationHandler({
        textfield in
        textfield.placeholder = "Username"

    })

    loginAlert.addTextFieldWithConfigurationHandler({
        textfield in
        textfield.placeholder = "Password"
        textfield.secureTextEntry = true

    })

    loginAlert.addAction(UIAlertAction(title: "Log In", style: UIAlertActionStyle.Default, handler: {
        alertAction in
        let textFields:NSArray = loginAlert.textFields as NSArray
        let usernameTextfield:UITextField = textFields.objectAtIndex(0) as UITextField
        let passwordTextfield:UITextField = textFields.objectAtIndex(1) as UITextField

        PFUser.logInWithUsernameInBackground(usernameTextfield.text, password: passwordTextfield.text){
            (user:PFUser!, error:NSError!)-> Void in
        }

    }))

    }
}

1 个答案:

答案 0 :(得分:0)

if (!PFUser.currentUser()) { 

我认为这是问题。它应该是

if PFUser.currentUser() == nil {

因为您正在测试不存在的值。请注意,您不需要在swift中围绕if条件使用括号。