Я пытался войти в систему или зарегистрировать пользователя и подключить их к существующей сфере. Затем, в зависимости от информации, хранящейся в этой области, мне могут понадобиться, чтобы они подключались к другому царству.Переключение между режимами (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)
}
}
}
спасибо за любую помощь!
Спасибо за ваш ответ! Я добился успеха в своей цели с помощью этого кода. Какая часть этого держится за конкретную ссылку на Realm? Что вы подразумеваете под основной конфигурацией Realm по умолчанию? Я только пытаюсь! Царство (конфигурация :), когда пользователь сначала регистрируется/регистрируется или когда мне нужно переключать их в другое царство. После этого я просто использую try! itemName.realm? .write {, чтобы внести изменения, и я получаю обновления с уведомлениемToken для любых изменений в области, к которой они подключены. Как только я установил self.realm для конфигурации2, область, с которой я был первоначально связан, перезаписывается, правильно? – RanLearns
@RanLearns Не стоит беспокоиться! Если это решит ваш вопрос, пожалуйста, не забудьте отметить его как принятый ответ. :) Когда вы добавляете свойство в свой класс под названием «realm», и вы вручную устанавливаете 'self.realm = realm', это то, что я имел в виду, навешивая ссылку. По первичному царству я имел в виду, что если вы не хотите использовать 'Realm (configuration:)' каждый раз, вы можете установить 'Realm.Configuration.defaultConfiguration' как Realm, который возвращается, когда вы вызываете' Realm() '. – TiM
Ах ладно! Нет, он не будет перезаписан. Он будет существовать как отдельная запись в учетной записи пользователя. – TiM