如何在Swift中检查PFQuery结果是否为真

时间:2015-12-05 03:42:26

标签: ios swift parse-platform pfquery pfuser

在我的应用程序中,用户可以在注册时选择三种不同的帐户类型:父用户,家庭帐户和子帐户。我在Parse的用户数据库中添加了一个名为“isParent”的列,并将其设置为布尔值。现在,在AppDelegate中,我想检查“isParent”是否为true,因此我可以显示某个ViewController。我有以下代码:

在didFinishLaunchingWithOptions中的AppDelegate.swift中:

    if PFUser.currentUser() == nil {
      // code to show sign up/login goes here

        }

    } else {

        let query = PFUser.query()
        query?.whereKey("username", equalTo: (PFUser.currentUser()?.username)!)

        if query["isParent"] == true{   // error here. see below.
           // parent view controller
              print("this user is a parent")

            }
        } else{
            // non parent view controller
            print("this user is not parent")

        }
    }

如上所述,错误在:

之内
if query["isParent"] == true{

我收到以下错误消息:

  

输入“PFQuery?”没有下标成员

所以,我希望能够检查“isParent”是否为真所以我可以打开一个视图控制器。

我该如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:0)

首先,您需要触发查询以获取数据,之后您可以检查您的情况。

您可以使用PFQuery类的方法来获取数据。

findObjectsInBackgroundWithBlock
findObjectsInBackgroundWithTarget:selector:
getFirstObject 
getFirstObjectInBackground ....etc.

您可以选择方法......