0

我有一个 UITableView,我想要 UITableViewController 中内置的所有功能,除了我想让委托是一个单独的类。问题是我需要从我的数据源中提取一条识别信息,以便我的委托类能够运行。我应该让 UITableView 委托给 UITableViewController,然后它会提取适当的识别信息,然后从 didSelectRowAtIndexPath 中调用第三个类吗?我只想以适当的方式构造它。

我对 iOS 和 Objective-C 相当陌生,所以我觉得有一个每个人都会使用的解决方案,但这对我来说并不明显。

4

2 回答 2

1

我会让委托和数据源都指向您的自定义类。在一个地方管理表格视图事件会更容易,而且你真的不需要 UITableViewController。如果将它们分开,则委托和数据源之间很可能存在严重耦合,因为听起来您需要在它们之间传输大量信息,这违背了将它们分成单独类的目的。

于 2012-06-25T20:27:54.380 回答
0

当我在同一个 UIViewController 中有两个表视图并且可以满足您的需要时,我通常使用的一种策略是为每个表视图创建一个对象类,例如:MyFirstTableViewManager 和 MySecondTableViewManager。

每个表视图管理器都设置为每个表视图的委托和数据源。

如果我需要在每个 tableview 上显示大量信息,我会在我从 UIViewController 设置的每个 Table View Manager 类上创建属性。

通过这种方式,我拆分了管理每个表视图的逻辑以使其更容易并保持干净,并且从我的 UIViewController 我可以通过设置每个表视图管理器属性来设置要在每个表视图上显示的信息,并使它们在需要时重新加载其数据.

希望这对您有所帮助。

于 2012-06-25T20:35:44.043 回答