Я занимаюсь разработкой приложения с интерфейсом master-detail, который отображает список продуктов, в которые пользователь может углубиться. При инициализации приложение загружает сводную информацию для (1000+) продуктов из веб-службы и отображает ее в виде таблицы. Когда пользователь выбирает конкретный продукт, приложение вызывает веб-службу для получения подробной информации об этом продукте и отображает ее в подробном представлении.
Я хочу сохранить эти данные между сеансами, используя платформу Core Data.
Я могу представить два подхода к моделированию этих данных.
- Использовать один объект Core Data Product , содержащий все атрибуты для этого объекта. Когда табличное представление инициализируется, эти объекты заполняются сводными данными. Когда выбран конкретный продукт, остальные поля заполняются только для этого продукта.
- Используйте два основных объекта данных: ProductSummary и ProductDetail с отношением сводка / подробность между ними. ProductSummary содержит атрибуты, которые загружаются представлением таблицы. ProductDetail содержит атрибуты, загруженные подробным представлением.
Каковы плюсы и минусы каждого варианта? Вариант 1, конечно, выглядит проще для кода, но я сохраняю проблемы с использованием памяти на потом? Будет ли производительность эквивалентна?