【发布时间】:2014-02-16 17:13:58
【问题描述】:
我正在构建一个在大多数屏幕上呈现表格视图的应用。它们提供了一些不同的表格视图单元格,但在表格视图的3/5 中显示了一个。此单元格显示视频并为用户提供与视频交互的界面(如评论、标记、删除、播放/暂停等),具有相当大的委托,具有七个方法/功能。
我的问题是:
设置一个单独的控制器是否是最佳实践,该控制器将是我的视图控制器的一个属性,被分配为单元的委托,或者使用已经实现的方法子类UITableViewController?
我看到后者的问题是,我必须实现一种奇怪的方式来处理数据源(设置返回模型的方法,始终确保视频存储在该数组中),而前者似乎只是对标准的 MVC 实践有点奇怪。有什么建议吗?
更新
我开始分解出要使用的数据源来实现单元的协议。我似乎遇到的另一个问题是显示多个单元格,即:
我有一个searchDisplayController,它根据搜索栏的selectedScopeIndex 显示UserCell 和VideoCell。我可以处理此问题的一种方法是为此 tableView 创建一个处理这两种情况的数据源,或者根据对selectedScopeIndex 的更改换出数据源。这两个选项中的任何一个都被看不起吗?交换表视图的数据源是否有效?
【问题讨论】:
-
您的问题对我来说不是 100% 清楚,如果您在许多地方都有相同的单元格,您可能希望在一个类中外部化您的 UITableViewDataSource,以便可以在任何需要的地方重复使用,你是在问一些方向吗?
-
我已经提取了数据源,但由于让表格视图单元格播放视频(在某些 Y 值处播放/暂停视图控制器的视图、推送控制器、触发 UI 事件等)
标签: ios uitableview delegation