Быстрый вход в firebase и приложение администратора / не члена

введите здесь описание изображениявведите здесь описание изображенияя хочу проверить значение снимка в "MembershipStatus". если MembershipStatus = active, то в один ActiveVC, если нет, то в NonActiveVC. если бы я мог заставить работать моментальный снимок, тогда я чувствую, что мог бы заставить работать все остальное. просто боролся.

вот мой код:

// sign in user
 let email = emailTextField.text!.trimmingCharacters(in:.whitespacesAndNewlines)
    let password = passWordTextField.text!.trimmingCharacters(in:.whitespacesAndNewlines)
    let rootref = Database.database().reference().root
    let userRef = rootref.child("users").childByAutoId().child("MembershipStatus")
    let db = Firestore.firestore()

// __________этот код работает // войдите в систему пользователя

    Auth.auth().signIn(withEmail: email, password: password) { (result, error) in

        if error != nil
        {
            //could not sign in
            self.errorLabel.text = error!.localizedDescription
            self.errorLabel.alpha = 1
        }
        else {

            userRef.observeSingleEvent(of: .value, with: {
                snapshot in
                let value = snapshot.value as? [String?]
                print (value!)}
            )
            //if user is a non active member then...go here to non active member controller

            let homeViewController = self.storyboard?.instantiateViewController(identifier: Constants.Storyboard.homeViewController) as? NonMemberMainVC
            self.view.window?.rootViewController = homeViewController
            self.view.window?.makeKeyAndVisible()


            //if a user is a active member then go to active member controller
                }
        }
        }

person johnny    schedule 13.03.2020    source источник
comment
Что ж. у моей базы есть   -  person johnny    schedule 13.03.2020
comment
пользователи / какой-то странный идентификатор пользователя / затем мой список информации для пользователя, такой как имя, uid, статус члена и т. д. я хочу иметь возможность распознавать тип пользователя, прежде чем я отведу пользователя к контроллеру просмотра   -  person johnny    schedule 13.03.2020
comment
Код в вопросе не связан с базой данных Firebase Real Time. Что вы спрашиваете и что не работает, также неясно. Можете ли вы уточнить вопрос и с каким кодом у вас возникли трудности?   -  person Jay    schedule 13.03.2020
comment
Что ж, код, который я показываю, — это просто простой вход в систему. Поэтому я показывал сторону авторизации для входа в firebase. после входа в систему я хочу сослаться на ребенка из uid (пример: member_status: y или n), чтобы узнать, является ли пользователь участником. если они являются членами, то перейдите к одному VC, если нет, то к другому VC.   -  person johnny    schedule 16.03.2020
comment
Понял. Итак, вопрос в том, как представить контроллер представления? В этом случае это не будет связано с Firebase, поскольку код, представленный в вашем вопросе, работает правильно.   -  person Jay    schedule 16.03.2020
comment
да правильно, но я хочу представить контроллер представления только в том случае, если член/пользователь передал 2 учетных данных. 1. создал учетную запись, 2. авторизовался мной. я авторизуюсь вручную в firebase, создав значение/кейс в поле под своей учетной записью.   -  person johnny    schedule 16.03.2020
comment
у меня есть следующие поля: 1. Имя_имя, 2. Фамилия, 3. uid (специальный), 4. электронная почта, 5. Статус членства   -  person johnny    schedule 16.03.2020
comment
Ok. Итак, где код, на котором вы застряли? Можете ли вы обновить вопрос с помощью этого кода и описать проблему, с которой вы столкнулись? Тогда можем посмотреть!   -  person Jay    schedule 16.03.2020
comment
правила: { пользователи: { $uid: { .read: auth !=null, .write: auth != null } } } }   -  person johnny    schedule 16.03.2020
comment
я установил свои правила:   -  person johnny    schedule 16.03.2020
comment
Ни вопрос, ни решение не имеют ничего общего с правилами. Правила определяют, к каким данным пользователи имеют или не имеют доступа, и не помогают отображать viewControllers в вашем приложении. Вам нужно включить код в свой вопрос, с которым у вас возникли трудности. Пожалуйста, найдите минутку и просмотрите Как мне задать хороший вопрос? и Как создать минимальный, полный и проверяемый пример   -  person Jay    schedule 16.03.2020
comment
Я думал, что задал вопрос ясно. когда я прокручиваю вверх, я вижу, что я опубликовал. Я написал, какая у меня цель.   -  person johnny    schedule 17.03.2020
comment
я добавил изображение, показывающее мой код.   -  person johnny    schedule 17.03.2020
comment
я просто хочу вернуть значение, установленное в моментальном снимке, чтобы вернуть то, что хранится в users/MembershipStatus. если я получу это, я смогу сделать все остальное.   -  person johnny    schedule 17.03.2020
comment
Пожалуйста, не включайте изображения или ссылки в свои вопросы. Включите код и структуры в виде текста, чтобы мы могли использовать их в ответах с копией/страницей. Чтобы получить структуру Firebase, используйте консоль Firebase->Export JSON, скопируйте и вставьте фрагмент вашей структуры. См. изображения и ссылки недопустимы. Изображения и ссылки недоступны для поиска, поэтому они могут оказаться бесполезными для будущих читателей.   -  person Jay    schedule 17.03.2020
comment
Обратите внимание, что Firebase является асинхронным, поэтому код, непосредственно следующий за закрытием функции firebase, будет выполняться перед кодом в закрытии. Таким образом, этот код let homeViewController = self.storyboard? будет выполняться до того, как этот код выполнит print (value!) внутри замыкания. Проведите небольшое исследование здесь на SO об асинхронных функциях - к нему много раз обращались с кучей примеров кода о том, как работать с этими типами вызовов функций.   -  person Jay    schedule 17.03.2020
comment
stackoverflow.com/questions/60728849/   -  person johnny    schedule 18.03.2020