7

VIPER中,与 MVC 不同,NSFetchedResultsController 的角色和位置没有那么明确定义。

把它放在交互器上是否正确?

4

2 回答 2

3

根据这篇文章,交互者不应该知道如何持久化实体。

VIPER 和使用 NSFetchResultController 的架构是不同的方法。VIPER 中没有 NSFetchResultController 的合适位置。

VIPER 非常适合大型应用程序,因为它提供了隔离良好的架构层。

NSFetchResultController 适用于较小的应用程序,因为它有助于更​​快地开发。

于 2016-12-28T17:06:19.187 回答
2

NSFetchedResultsController 是一种用于观察数据库变化的 Core Data 特定方法。这是一种流行的模式,可以在大多数移动数据库系统中找到。

可以在数据库抽象层下使用这种观察,因此如果我们采用移动应用程序的完整 VIPER 架构,它可以在交互器下实现。根据接受的答案,它不应该被放入交互器中,因为交互器不应该知道它正在使用的本地数据库的类型。虽然我想不出任何反对在数据库级别使用它的方法。

于 2017-07-11T14:25:53.893 回答