我的应用有登录和注册。用户登录后,可以选择升级帐户。升级帐户后,将创建一个名为“Upgrade”的新解析类。这里有一堆带有存储信息的子类。然后,一旦用户升级,它就会将他带到一个只有升级用户才能访问的特殊页面。但是,如果用户升级,我如何检查登录,如果是,则自动将他带到特殊页面。
在我的解析中,我将用户信息与子类“Username”和“Password”一起存储。然后在一个单独的类中,我有升级信息存储,子类为“Address”,“Phone Number”,我有一个链接器链接回创建它的用户。
我目前的登录代码是:
@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")
但是,由于目前的用户不等于那个级别,所以这并没有起作用。 我可以用什么类型的代码检查用户是否在解析中创建了升级类?
enter code here
objectinbackground,但我似乎无法使这些工作。 答案 0 :(得分:0)
我不太了解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.")
}
}
您还可以设置代码以将指针存储到用户的Upgrade对象,而不是相反。您可以在用户上设置bool值以查看它们是否已升级。如果是,则将它们带到升级屏幕,或者首先获取升级对象。