iOS- MVP设计中的UITableView委托和数据源

问题描述 投票:1回答:1

我正在尝试使用Model-View-Presenter实现UITableViewController。由于我是这个概念的新手,所以我对如何将UITableView's数据源协议与UIViewController分开感到非常困惑。

[许多文章都同意View + Viewcontroller必须笨而只考虑UI及其布局的想法。另一方面,Presenter需要成为视图和模型之间的促进者,并且还必须实现逻辑,但是他们声明不包括UIKit,因为它不直接操纵UI。这就是我的困惑所在。

[当实现UITableView时,我们必须实现两个协议:UITableViewDelegateUITableViewDataSource,尤其是数据源。

我假设委托属于View部分,并在收到用户操作时将事件传递给Presenter。

但是,要实现UITableViewDataSource,我们必须具有表视图使用的某些模型。话虽这么说,我只能想到两种方法以某种方式适合MVP。

  1. 将Presenter的Model值传递给UITableView,并且为了数据源(例如为特定索引创建一行),使其在视图中是只读的。但是后来我认为它违反了MVP概念,因为Model值是View可以直接访问的。

  2. 让主持人成为数据源。但是由于Presenter不应导入UIKit,因此我认为导入UIKit并实现UITableViewDatasource也违反了MVP概念。

  3. 长话短说,我很困惑在哪里以及如何适当地实现UITableDatasource ...如果任何人都非常了解这个概念,请分享您的知识。预先谢谢!

我正在尝试使用Model-View-Presenter实现UITableViewController。由于我不熟悉此概念,因此如何将UITableView的数据源协议与...

ios uitableview mvp
1个回答
0
投票

第一个选项是将adapter

© www.soinside.com 2019 - 2024. All rights reserved.