Ios 对于可重用UITableViewCell';代表和代表?

Ios 对于可重用UITableViewCell';代表和代表?,ios,uitableview,delegation,Ios,Uitableview,Delegation,我正在开发一个在大多数屏幕上显示表格视图的应用程序。它们显示了一些不同的表视图单元格,但有一个单元格显示在表视图的3/5中。该单元显示视频,并为用户提供与视频交互的界面(如评论、标记、删除、播放/暂停等),它有一个相当大的委托,具有七种方法/功能 我的问题是: 最佳做法是设置一个单独的控制器,该控制器是my view controller的一个属性,将其指定为单元格的委托,还是使用已实现的方法将一个UITableViewController子类化 我看到后者的问题是,我必须实现一种奇怪的方法来处

我正在开发一个在大多数屏幕上显示表格视图的应用程序。它们显示了一些不同的表视图单元格,但有一个单元格显示在表视图的
3/5
中。该单元显示视频,并为用户提供与视频交互的界面(如评论、标记、删除、播放/暂停等),它有一个相当大的委托,具有七种方法/功能

我的问题是:
最佳做法是设置一个单独的控制器,该控制器是my view controller的一个属性,将其指定为单元格的委托,还是使用已实现的方法将一个
UITableViewController
子类化

我看到后者的问题是,我必须实现一种奇怪的方法来处理数据源(设置方法以返回模型,始终确保视频存储在该数组中),而前者对于标准MVC实践来说似乎有点奇怪。有什么建议吗

更新

我开始分解出一个数据源来使用它来实现计算单元的协议。我似乎遇到的另一个问题是显示多个单元格,即:


我有一个
searchDisplayController
,它根据搜索栏的
selectedScopeIndex
显示
UserCell
VideoCell
。我可以处理这个问题的一种方法是为这个tableView创建一个数据源来处理这两种情况,或者根据对
selectedScopeIndex
的更改来交换数据源。这两个选项中有一个被看不起吗?交换表视图的数据源有效吗?

我通过实现一个
UITableViewDataSource
控制器解决了这个问题,该控制器也将处理单元格的委托。我能够在数据源上将7方法委托缩短为3方法委托,用于推送新控制器、从数据模型中删除对象以及处理淡入/更新


诚然,我需要传递对源
UIViewController
UITableView
UIView
UIStoryboard
的引用,但代码更具可读性和可管理性

你的问题对我来说不是100%清楚,如果你在很多地方有相同的单元格,你可能想在一个类中外部化你的UITableViewDataSource,这样你就可以在任何需要的地方重复使用它,您是否需要一些指导?我已经取出了数据源,但由于让表视图单元格播放视频(在视图控制器的视图中以特定Y值播放/暂停、推送控制器、触发UI事件等)所涉及的复杂性,我在总体设计上遇到了一些问题如果这对你有用就好了。但一般来说,由于数据源是针对整个
UItableView
的,因此在不同的表上重用单个单元格不是很灵活。它构建在我使用的数据源类之上,该类使用块来设置单元格,只是在子类中实现了单元格的委托