gpt4 book ai didi

ios - 在多页面 iOS 应用程序上将数据同步到 Realm 后端的最佳方式是什么

转载 作者:行者123 更新时间:2023-11-28 06:13:44 24 4
gpt4 key购买 nike

我有一个带有登录屏幕的应用程序,然后在用户登录后在选项卡栏 Controller 中有两个 TableView 。在每个 TableView 中,我都有要同步到我的 Realm 数据库的数据。

我的 Realm 数据库的设置主要基于以下教程:https://realm.io/docs/tutorials/realmtasks/

用户认证代码如下

SyncUser.logIn(with: userCredentials, server: (url! as URL)) { user, error in
guard user != nil else {
print("Error")
self.logInMessage.text = "Invalid login details, please try again"
self.logInMessage.shake()
return
}
DispatchQueue.main.async {
self.performSegue(withIdentifier: "logInSegue", sender: self)
}
}

在我的每个表格 View 中,我的目标是拥有以下代码:

DispatchQueue.main.async {
// Open Realm
let configuration = Realm.Configuration(
syncConfiguration: SyncConfiguration(user: user, realmURL: URL(string: "realm://127.0.0.1:9080/~/realmtasks")!)
)
self.realm = try! Realm(configuration: configuration)
}

但是,请注意我需要一个用户来进行配置。我应该从登录屏幕传递它,还是这太过分了?提前致谢

最佳答案

我会在您的应用启动时设置您的 Realm 的默认配置(甚至在您对用户进行身份验证之前)。这可以放在您的 AppDelegate 或类似的“启动”文件中。

let configuration = Realm.Configuration(
syncConfiguration: SyncConfiguration(user: user, realmURL: URL(string: "realm://127.0.0.1:9080/~/realmtasks")!)
)

Realm.Configuration.defaultConfiguration = configuration

然后在加载的第一个 View 中,您负责用户身份验证(这可能需要一些 UI,以便您的用户可以登录,除非您使用 Realm 的 iCloud 身份验证,这可能在幕后发生)。

一旦您对用户进行了身份验证,您就可以随时访问他们的 SyncUser 对象:

//Log out the user (for example)
SyncUser.current?.logOut()

祝你好运! :)

关于ios - 在多页面 iOS 应用程序上将数据同步到 Realm 后端的最佳方式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45732452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com