试图找到有关如何最好地对同步领域进行身份验证的任何指导,并确保之前不要使用对它的任何引用。
让我们假设用户不需要登录,但是例如通过将其绑定到 realm.objects 查询来填充表格视图。
如果我在例如 viewDidLoad() 中向远程领域进行身份验证为时已晚,那么 applicationDidFinishLaunching() 也为时已晚。
当然,我可以先显示一个空的结果列表或一个空的本地领域,但对我来说,这一切看起来并不干净。
有什么建议么?
试图找到有关如何最好地对同步领域进行身份验证的任何指导,并确保之前不要使用对它的任何引用。
让我们假设用户不需要登录,但是例如通过将其绑定到 realm.objects 查询来填充表格视图。
如果我在例如 viewDidLoad() 中向远程领域进行身份验证为时已晚,那么 applicationDidFinishLaunching() 也为时已晚。
当然,我可以先显示一个空的结果列表或一个空的本地领域,但对我来说,这一切看起来并不干净。
有什么建议么?
我建议您在拥有经过身份验证的用户之前不要使用 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