ios - VIPER 中 UITableView 委托(delegate)和数据源的实现

标签 ios swift uitableview viper-architecture

我是第一次在 VIPER 架构中编写应用程序,无法理解 UITableView 委托(delegate)和数据源方法应该进入 View、Presenter 还是 Interactor?我在一些链接中发现它应该是 View 类的一部分,但这似乎不对。即使它是 View 的一部分,数据将如何到达那里,因为从技术上讲,View 不应该向演示者请求数据。 Presenter应该自己推送数据。

最佳答案

您阅读的链接是正确的,具有 VIPER 架构的应用程序中 UITableView 的委托(delegate)和数据源方法应保留在 View 中. 关于数据如何到达 View 的结论是错误的,因为 View 本身应该要求 Presenter 带来数据,然后 Presenter 要求 Interactor 从网络或数据库加载数据。 如果您对 VIPER 架构有任何疑问,我绝对推荐这些文章:

第 1 条:https://blog.mindorks.com/building-ios-app-with-viper-architecture-8109acc72227

第 2 条:https://cheesecakelabs.com/blog/best-practices-viper-architecture/

第 3 条:https://cheesecakelabs.com/blog/ios-project-architecture-using-viper/

关于ios - VIPER 中 UITableView 委托(delegate)和数据源的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46887451/

相关文章:

ios - 在 iOS 图表的左轴上显示文本

ios - 短链接 SDK iO

ios - 如何在单个 ImageView 中添加多个图像并每 2 秒连续显示所有图像

ios - tableView.reloadData() 表未更新

uitableview - 为什么 UITableView 会忽略带有自定义 separatorInset 的 "extra"分隔符的 separatorColor?

xcode - 表格单元格中的 UIImageView 不在框架原始框架内?

iOS 企业版 - 多人

iOS - 检测到附件 URL,但未针对不同项目显示

ios firebase 用户等于 nil

ios - UITableView 是否使用 dequeueReusableCellWithIdentifier?