Я использую Core Data для хранения данных с сервера, который отправляется в «реляционной» форме.
Например, данные, которые я получаю с сервера, выглядят примерно так (фактический формат несколько отличается, но достаточно похож)
Users: [{PK: 1, Name: 'A B'}, {PK: 2, Name: 'C D'}, {PK: 3, Name: 'E F'}]
Posts: [{PK: 1, UserPK: 1, Content: '...'}, {PK: 2, UserPK: 3, Content: '...'}]
В моей модели базовых данных установлена связь междуПользователи и посты и все работает как надо.Однако моя проблема заключается в том, чтобы как можно быстрее создать эти объекты и их взаимосвязи (без использования смешного объема ОЗУ), когда я получаю новый набор данных с сервера.
Проблема заключается в том, что сообщения связываются с пользователями.«Обычный» способ сделать это - записать post.user = user;
. Однако для этого необходимо, чтобы с диска было загружено user
.
В настоящее время я планирую загрузить всех пользователей, вызвать их и создать ошибку.NSDictionary, который сопоставляет PK с реальными объектами.Таким образом, я могу быстро найти пользователя, которого нужно связать с постом.Однако это решение кажется немного сложным для чего-то, что по сути должно быть довольно тривиальной операцией.