I use the following code to identify if a PFUser already exists:
let findExistingUserQuery = PFQuery(className: "_User")
findExistingUserQuery.whereKey("email", equalTo: EmailTextField.text!)
findExistingUserQuery.findObjectsInBackgroundWithBlock{ (objects, error) -> Void in
if(error == nil){
print(objects![0])
if(objects!.count > 0){
let existingAlert = UIAlertController(title: "Alert", message: "A user with this email already exists", preferredStyle: .Alert)
existingAlert.addAction(UIAlertAction(title: "Ok", style: .Default, handler: nil))
self.presentViewController(existingAlert, animated: true, completion: nil)
self.Spinner.hidden = true
self.Spinner.stopAnimating()
print("exists")
}else{
print("available")
//temporarily save user info
user.username = self.EmailTextField.text
user.email = self.EmailTextField.text
user["PhoneNumber"] = self.PhoneNumberTextField.text
phone = self.PhoneNumberTextField.text!
//segue to Create Profile Screen
self.performSegueWithIdentifier("ToCreateProfileSegue", sender: nil)
self.Spinner.hidden = true
self.Spinner.stopAnimating()
}
}
}
However, for some reason, the else is never called even if there is no user. The first part of the call works and can identify when a user is already loaded in the database. Any suggestions?