Я реализовал синхронизацию в реальном времени после демонстрации приложения Realm's tasks.Уникальные объекты контейнера Realm
В этом случае используется манекен-контейнер, содержащий модели List
.
Приложение для демонстрации не поддерживает автономное использование.
Я задавался вопросом, что произойдет, когда, учитывая эту настройку, я запускаю приложение в онлайн-режиме, а также автономное устройство, а затем выхожу в автономном режиме с автономным устройством.
Мое первоначальное ожидание состояло в том, что я бы закончил с двумя контейнерами (что было бы недопустимым состоянием), но когда я испытал неожиданно, в конце было только 1 контейнер.
Но иногда я получаю 2 контейнера и не смог определить причину этого.
Вопрос в том, как это точно работает? Я предполагаю, что контейнер, как правило, не дублируется, когда я впервые синхронизирую автономное устройство, так это то, что он обрабатывается как один и тот же объект, возможно потому, что у него нет первичного ключа или чего-то еще? Но почему это иногда дублируется? И какая была бы лучшая практика здесь? Возможно, мне придется использовать первичный ключ или проверить после подключения, если есть дублирование, и если да, то ручное слияние контейнеров?
Спасибо! По-видимому, исправление заключается в добавлении первичного ключа. Интересно, почему слияние работает большую часть времени без него. Может быть, есть внутренний идентификатор объекта, который используется аналогично первому ключу? – Ixx