2016-07-19 9 views

ответ

2

В соответствии с this article интерактор не должен знать, как сохранить объекты.

VIPER и архитектура, использующая NSFetchResultController, представляют собой разные подходы. Неправильное место для NSFetchResultController в VIPER.

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

NSFetchResultController подходит для небольших приложений, так как он помогает быстрее развиваться.

0

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

Возможно использовать этот вид наблюдения под уровнем абстракции базы данных, поэтому, если мы возьмем полную архитектуру VIPER мобильного приложения, она может быть реализована под Interactor. В соответствии с принятым ответом его не следует вводить в Interactor, потому что Interactor не должен знать о типе используемой локальной базы данных. Хотя я не могу придумать ничего против использования его на уровне базы данных.