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
的,因此在不同的表上重用单个单元格不是很灵活。它构建在我使用的数据源类之上,该类使用块来设置单元格,只是在子类中实现了单元格的委托