TableView里面的ViewView但保留了继承/子类系统

时间:2013-08-27 20:33:14

标签: ios uitableview uiviewcontroller

问题出在这里 - 左图显示了我的Tableview在填满整个屏幕之前是怎样的,右边是新的,这是一个带有TableView的标准ViewController。麻烦在于我需要在tableview中添加一个插座,将其设置为tableview / source delegate,然后从我的TableviewControllers复制所有代码(它使用一系列子类来实现可重用性)。如果我将所有这些复制到ViewController,那么我最终会复制大量代码,破坏我的继承系统,引入错误的完美方式,并创建大量额外工作

有解决方法吗?

在左图中,控制器类遵循继承层次结构

ThisTBC > abstractTBC ->UITableViewController

在右图中,控制器是一个简单的ViewController。但如果我想控制 来自此控制器的TableView可以执行此操作,而无需将左控制器(ThisTBC> abstractTBC)中的所有代码复制到右侧ViewController

enter image description here

2 个答案:

答案 0 :(得分:1)

如果要在两个不同的类中使用相同的代码,那么为什么不将此代码抽象为新类呢?我并不完全熟悉您的代码,但作为示例,我将提供此代码:

想象一下,你有两个完全不同的视图控制器,但它们应该以相同的方式调整大小并且能够完全相同地响应某个触摸事件。在这种情况下,我将创建一个SuperViewController(只是一个任意名称),子类从这个超类中提到了2个视图控制器。

我希望这可以为你提供一些帮助。 干杯!

答案 1 :(得分:0)

根据你的问题,我知道你需要两个不同的控制器:一个是viewController,另一个是tableViewController。你想要在一个文件中编写集群代码。

如果您正在执行此操作,则对tableViewCell执行的任何触摸都将调用tableview控制器中的方法。

你能否从视图控制器中指定你想要在tableview中控制的实际内容。你想在视图控制器中点击段按钮来改变表的内容吗?或者是其他东西?任何示例代码都会有所帮助。