2014-09-09 2 views
1

Я создаю собственное приложение iOS с объективом i, которое загружает и отображает сообщения из веб-службы.Основные данные + Архитектура компоновки

Существует два типа источников для сбора этих сообщений. Один из панели пользователя пользователя, другой - путем поиска тега.

Сначала я попытался создать родительский исходный класс с двумя разными подклассами. Но это приводит к дублированию кода или открытым частным методам. Поэтому я подумал об использовании композиции. Теперь у меня есть класс PostSource, который объявляет протокол PostFetcher, который отвечает за загрузку сообщений, и у меня есть две разные реализации PostFetcher.

Всегда будет только один источник приборной панели и 0 или более источников тегов.

Я доволен архитектурой, какой она есть, но теперь я хочу, чтобы источники отслеживали, какие сообщения уже отображаются. Поэтому я добавил PostHistory для каждого источника. Это работает нормально, но теперь я хочу сохранить эту историю в основных данных.

Я очень новичок в основных данных и не имею ни малейшего представления о том, как это сделать наилучшим образом.

Могу ли я использовать ту же архитектуру, когда Source является основным объектом данных?

ответ

1

Короткий ответ на ваш вопрос: да.

Ваша модель не совсем понятна из вашего текстового описания, но Core Data, безусловно, является подходящей основой для моделирования таких отношений в графе объектов. Ваше описание того, как эволюционировала модель с течением времени, - это отличное исследование того, как модели данных могут неожиданно развиваться с ростом новых категорий и объектов.

Возьмите порт в Core Data в качестве радушной возможности переосмыслить свою архитектуру данных.

Смежные вопросы