![](/img/trans.png)
[英]Problems switching between playlists and setting timers in Swift iOS MPMediaPlayer app
[英]Switching between realms (iOS / Swift 3)
我试图登录或注册用户并将他们连接到现有领域。 然后,根据存储在该领域中的信息,我可能需要它们代替连接到另一个领域。
不能尝试! 初始配置后,领域是否具有其他配置? 灰心吗? 是否需要在初始DispatchQueue之外完成?
这是代码:
SyncUser.logIn(with: usernameCredentials, server: URL(string: "http://11.22.333.0:9080")!) {
user, error in
guard let user = user else {
fatalError(String(describing: error))
}
DispatchQueue.main.async {
let configuration = Realm.Configuration(
syncConfiguration: SyncConfiguration(user: user, realmURL: URL(string: "realm://11.22.333.0:9080/ab56realmURL/NameOfRealm1")!)
)
self.realm = try! Realm(configuration: configuration)
if (someCheckOfData in realm) {
let configuration2 = Realm.Configuration(
syncConfiguration: SyncConfiguration(user: user, realmURL: URL(string: "realm://11.22.333.0:9080/ab56realmURL/NameOfRealm2")!)
)
self.realm = try! Realm(configuration: configuration2)
}
}
}
非常感谢您的帮助!
不,不气disc。 您在这里要做的只是创建2个离散的Configuration
副本,然后将在服务器上创建2个独立的Realm实例。
两者将是完全分开的,因此在用于创建初始Realm
实例之后,通过错误地更改配置是不可能引起异常的。
不过,我们建议您做的一件事就是不要坚持使用特定的Realm引用。 它们不是线程安全的,并且不能保证GCD在相同的线程上执行相同的队列,因此您可能会为将来的异常做好准备。
如果这将是您的主要领域,通常建议将该Configuration
为默认领域。 否则,由于Configuration
是线程安全的(假设您以后不修改它),可以坚持使用它,然后try! Realm(configuruation:)
使用它try! Realm(configuruation:)
try! Realm(configuruation:)
每当您实际需要使用Realm时。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.