新的领域移动平台宣传有离线支持,但是大多数教程并没有在示例中展示它是如何工作的......
例如,在他们的待办事项应用程序示例这是用于连接到服务器数据库的代码
SyncUser.logIn(with: .usernamePassword(username: username, password: password, register: false), server: URL(string: "http://127.0.0.1:9080")!) { user, error in
guard let user = user else {
fatalError(String(describing: error))
}
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)
// Show initial tasks
func updateList() {
if self.items.realm == nil, let list = self.realm.objects(TaskList.self).first {
self.items = list.items
}
self.tableView.reloadData()
}
updateList()
// Notify us when Realm changes
self.notificationToken = self.realm.addNotificationBlock { _ in
updateList()
}
}
}
当用户下线时,返回user
变量为零,并且您不能使用服务器上配置的领域,但代码没有显示如何从镜像本地数据库获取同步数据...您是否必须手动将项目从在线数据库复制到每次用户上线时手动创建本地数据库?
成功登录(或注册)用户后,它会缓存在设备的钥匙串中,您可以通过以下方式检索它当前用户属性或者如果您的应用程序支持多个用户all即使您处于离线状态。
如果您致电请注意logout
对于用户,那么它将从钥匙串中删除,您将必须在线并再次登录。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)