0

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

有没有解决的办法?

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

ThisTBC > abstractTBC ->UITableViewController

在右图中,控制器是一个简单的 ViewController。但是,如果我想从这个控制器控制 TableView,我可以这样做而不必将左侧控制器(ThisTBC > abstractTBC)中的所有代码复制到右侧 ViewController

在此处输入图像描述

4

2 回答 2

1

如果你想在两个不同的类中使用相同的代码,那为什么不把这段代码抽象成一个新的类呢?我对您的代码并不完全熟悉,但作为示例,我将提供以下内容:

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

我希望这能给你一些帮助。干杯!

于 2013-08-27T21:04:59.940 回答
0

根据您的问题,我了解到您需要两个不同的控制器:一个是 viewController,另一个是 tableViewController。您希望它在单个文件中编写集群代码。

如果您正在这样做,对 tableViewCell 执行的任何触摸都将调用 tableview 控制器中的方法。

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

于 2013-08-27T22:14:07.640 回答