Базовое проектирование объектов данных для интерфейса master-detail - PullRequest
1 голос
/ 23 января 2012

Я занимаюсь разработкой приложения с интерфейсом master-detail, который отображает список продуктов, в которые пользователь может углубиться. При инициализации приложение загружает сводную информацию для (1000+) продуктов из веб-службы и отображает ее в виде таблицы. Когда пользователь выбирает конкретный продукт, приложение вызывает веб-службу для получения подробной информации об этом продукте и отображает ее в подробном представлении.

Я хочу сохранить эти данные между сеансами, используя платформу Core Data.

Я могу представить два подхода к моделированию этих данных.

  1. Использовать один объект Core Data Product , содержащий все атрибуты для этого объекта. Когда табличное представление инициализируется, эти объекты заполняются сводными данными. Когда выбран конкретный продукт, остальные поля заполняются только для этого продукта.
  2. Используйте два основных объекта данных: ProductSummary и ProductDetail с отношением сводка / подробность между ними. ProductSummary содержит атрибуты, которые загружаются представлением таблицы. ProductDetail содержит атрибуты, загруженные подробным представлением.

Каковы плюсы и минусы каждого варианта? Вариант 1, конечно, выглядит проще для кода, но я сохраняю проблемы с использованием памяти на потом? Будет ли производительность эквивалентна?

1 Ответ

0 голосов
/ 23 января 2012

Имея столько объектов, сколько у вас будет, перейдите к варианту 2. Сохраняйте поступающие данные и атрибуты сущности на уровне только того, что необходимо отобразить на телевизоре.Установите отношение к деталям и загрузите его, когда появится подробный ВК.

Я делаю нечто подобное, за исключением ~ 4500 строк.Я сохраняю только то, что мне нужно, и затем обращаюсь к другой сущности за подробностями, касающимися объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...