Лучшая практика для аутентификации синхронизированной области

Попытка найти какое-либо руководство о том, как лучше всего аутентифицироваться в синхронизированной области, и убедиться, что вы не используете ссылки на нее раньше.

Предположим, что пользователю не нужно входить в систему, но, например. табличное представление, которое заполняется путем привязки его к запросу realm.objects.

Если я аутентифицируюсь в удаленной сфере, например. viewDidLoad() слишком поздно, applicationDidFinishLaunching() тоже слишком поздно.

Я мог бы, конечно, сначала показать пустой список результатов или пустую локальную область, но для меня это не выглядит чистым.

Какие-либо предложения?


person Daniel    schedule 07.10.2016    source источник
comment
В значительной степени ответили здесь: stackoverflow. com/questions/39927239/   -  person Daniel    schedule 09.10.2016


Ответы (1)


Я бы рекомендовал вам не использовать Realm до того, как у вас будет аутентифицированный пользователь, вы можете показать некоторое представление входа в систему для обработки аутентификации и показать свой другой контроллер представления после аутентификации пользователя.

// LogInViewController

...

func logIn() {
    SyncUser.authenticate(with: credential, server: serverURL) { user, error in
        if let user = user {
            Realm.Configuration.defaultConfiguration = Realm.Configuration(
                syncConfiguration: (user, syncURL)
            )

            // Show your table view controller or use `try! Realm()`
        } else {
            // Present error
        }
    }
}

Пожалуйста, проверьте также пример RealmTasks здесь: https://github.com/realm/RealmTasks

person Dmitry    schedule 10.10.2016
comment
Если вам нужно получить доступ к области до того, как у вас будет аутентифицированный пользователь, вы можете начать с использования обычной несинхронизированной области и скопировать ее содержимое в синхронизированную, как только вы получите пользователя. - person jpsim; 10.10.2016