Определенно возможно управлять данными, хранящимися между отдельными Realms, но это не будет автоматическим. Вам нужно будет управлять доступом к этим данным в логике вашего собственного приложения.
RLMRealm
экземпляры сами представляют собой один файл на диске и не могут быть динамически созданы для сопоставления комбинаций других областей. После того, как RLMObject
был добавлен к родительскому RLMRealm
, его нельзя перемещать/поддерживать на другом RLMRealm
, представляя другой файл.
Это, скорее всего, зависит от конкретных сценариев использования, но самое простое решение было бы просто запросить для объектов в отдельных случаях RLMRealm
для каждого файла, и помещая полученные RLMResults
объектов каждого из них в NSArray
.
Пока данные не могут быть напрямую разделены между Realms, вы можете использовать глобально уникальные первичные ключи (например, NSUUID
), чтобы указать отношения между объектами в разных Realms.
Если вам нужно, это также можно создавать Realmless копию RLMObject
с, если вы в конечном итоге хотите перемещать объекты между Realms:
экземпляра
Dog *savedDog = [[Dog allObjects] firstObject];
Dog *copiedDog = [[Dog alloc] initWithValue:savedDog];
Один Realm принадлежит к одной конфигурации, и одна конфигурации принадлежит к одному файл. – EpicPandaForce