如何检查用户是否使用解析升级?

How to check if a user upgraded using parse?

我的应用有登录和注册。一旦用户登录,他就可以选择升级帐户。升级帐户时,会在解析中创建一个名为 "Upgrade" 的新 class。这里有一堆存储信息的子classes。然后,一旦用户升级,它就会将他带到一个只有升级用户才能访问的特殊页面。但是如果用户升级了,我如何检查登录,如果他是,自动将他带到特殊页面。

在我的解析中,我将用户信息存储在子classes "Username" 和"Password" 中。然后在一个单独的 class 中,我有升级信息存储与子 classes "Address"、"Phone Number",我有一个 linker 到 link 返回给创建它的用户。

我当前的登录密码是:

@IBAction func loginButton(sender:AnyObject) {
var username = self.usernameTextField.text
var password = self.passwordTextField.text

if(password.utfCount <5) {
var alert = UIAlertView(title:"Invalid", message: "Password must be greater than 5", delegate: self, cancelButtonTitle:"OK")
}
else {
PFUser.logInWithUsernameInBackground(username, password: password, block:{(user, error) -> Void in

if ((user != nil) {
self.performSegueWithIdentifier("LoginSegue", sender: nil)

这是基本代码,但它不会检查用户是否已升级。

我试过了:

if(PFUser.currentUser() == PFQuery(className:"Upgrade")) { 
self.performSegueWithIdentifier("UpgradedSegue")

但很明显这没有用,因为当前用户不等于 class。 我可以使用什么样的代码来检查用户是否在解析中进行了升级 class?

我不太了解 Swift,如果有错误,请见谅,但请尝试以下内容:

var query = PFQuery(className:"Upgrade")
query.whereKey("user", equalTo:currentUser.objectId)
query.getFirstObjectInBackgroundWithBlock {
  (object: PFObject!, error: NSError!) -> Void in
  if error != nil
    println("The getFirstObject request failed.")
  } else if object == nil{
    //No Upgrade object with that user's ID
  } else {
    // The find succeeded, user has created an Upgrade object
    println("Successfully retrieved the object.")
  }
}

您还可以设置代码以存储指向用户升级对象的指针,而不是相反。您可以为用户设置一个布尔值以查看他们是否已升级。如果是,则将它们带到升级屏幕,或获取升级对象,无论您需要什么。