Как проверить, верен ли результат PFQuery в Swift

В моем приложении пользователи могут выбрать три разных типа учетных записей при регистрации: родительский пользователь, семейная учетная запись и дочерняя учетная запись. Я добавил столбец в базу данных пользователей в Parse с именем «isParent» и установил его как логическое значение. Теперь в AppDelegate я хочу проверить, верно ли «isParent», чтобы я мог отобразить определенный ViewController. У меня есть следующий код:

В AppDelegate.swift внутри didFinishLaunchingWithOptions:

    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», чтобы я мог открыть контроллер представления.

Как я могу это исправить?

Спасибо.


person Ian Thompson    schedule 05.12.2015    source источник


Ответы (1)


Сначала вам нужно запустить запрос, чтобы получить данные, а затем вы можете проверить свое состояние.

Вы можете использовать метод класса PFQuery для получения данных.

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

Вы можете выбрать свой способ...

person Mahendra    schedule 05.12.2015