Частичные сферы - почему и когда они создаются?
Я использую Realm и создаю мобильное приложение Swift. Я действительно изо всех сил пытаюсь понять, почему и когда создаются Частичные сферы.
Вот мой сценарий:
пользователь входит в приложение и выводится на первый контроллер представления.
В первом представлении контроллер загрузил, я выполняю запрос для получения текущего пользователя, подписываюсь на запрос и добавляю наблюдателя, чтобы сообщить мне, когда данные синхронизируются:
let currentUserArr = realm.objects(DBUser.self).filter("id == %@", userId)
self.subscription = currentUserArr.subscribe(named: "current user")
self.subscriptionToken = self.subscription.observe(\.state, options: .initial) { state in
switch state {
case .creating:
print("creating")
case .pending:
print("pending")
case .complete:
print("complete")
self.artist = currentUserArr[0]
case .invalidated:
print("invalidated")
case .error(let err):
//seal.reject(err)
print(err)
}
}
Это имеет смысл, что если я проверю Облако областей, у меня будет новая частичная область, созданная с путем как:
/ ДБ /__ частичной /DyeOy3OR4sNsqMi2OmDQQEzUa8F3/~7f11cf52
Однако здесь начинается мое замешательство. Я выхожу из системы Я снова захожу в систему и снова выполняю приведенный выше код. Я думал, что Realm просто повторно использует уже созданную частичку, но вместо этого создает совершенно новую частичку.
/ ДБ /__ частичной /DyeOy3OR4sNsqMi2OmDQQEzUa8F3/~8bc7bc49
Это из-за намерения, или я должен как-то повторно использовать партиалы вместо того, чтобы создавать новую каждый раз, когда выполняется запрос (даже если он выполняется одним и тем же пользователем)?
Я также опубликовал на форумах Realm:
https://forums.realm.io/t/realm-platform-realm-path-partial-s/2833
1 ответ
Я не верю, что на самом деле выходил из системы текущий пользователь синхронизации. После дальнейшего тестирования, как только я вышел из системы и снова вошел в систему, существующее частичное снова использовалось. Это не проблема.