Получение ошибки «Необязательный тип« $ T3 »не может использоваться как логическое значение; вместо этого проверьте «! = nil»

Я пробовал '!=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
        }

    }))

    }
}

person Greg    schedule 02.01.2015    source источник


Ответы (1)


if (!PFUser.currentUser()) { 

Я предполагаю, что это проблемная линия. Так должно быть

if PFUser.currentUser() == nil {

Поскольку вы проверяете отсутствие значения. Обратите внимание, что вам не нужны скобки вокруг условия if в swift.

person jrturton    schedule 02.01.2015
comment
Если это сработало, вы можете принять ответ, установив галочку. Это позволяет другим узнать, что на вопрос дан ответ. - person jrturton; 03.01.2015