Предположим, у меня есть база данных с следующей структурой:Realm createOrUpdate сложный объект
@interface User: RLMObject
RLMArray<Match>* matches;
@end
@interface Match: RLMObject
RLMArray<Round>* rounds;
RLMArray<User>* players;
@end
@interface Round: RLMObject
User* nextMoveUser;
@end
И я хотел бы, чтобы обновить существующий объект пользователя, который уже успел в Realm со всеми вложенными свойствами:
User* user = ... // Get unmanaged User,
// parsed from API
// with unmanaged parsed nested mathces and round
RLMRealm* realm = [RLMRealm defaultRealm];
[realm beginWriteTransaction];
[realm addOrUpdateObject: user];
[realm commitWriteTransaction];
Вопрос: будет ли Realm обновлять все вложенные объекты, а также главный User? P.S .: Я спрашиваю об этом, потому что мне приходится сталкиваться с некоторыми проблемами с обновлением [Round nextMoveUser]. После обновления он становится нулевым. Хотя отладчик показывает, что все в порядке с анализируемой сущностью.
Также я бы высоко оценил, если кто-то может объяснить, как все работает внутри, когда дело касается таких типов ссылок.