我有一个UITableView,我想要内置到UITableViewController中的所有功能,除了我希望委托是一个单独的类。问题是我需要从我的数据源中提取一条识别信息,以便我的委托类能够运行。我应该将UITableView委托给UITableViewController,然后提取相应的识别信息,然后从didSelectRowAtIndexPath中调用第三个类吗?我只想以适当的方式构建它。
我是iOS和Objective-C的新手,所以我觉得每个人都会使用一个解决方案,但这对我来说并不明显。
答案 0 :(得分:1)
我会让委托和数据源都指向您的自定义类。在一个地方管理表视图事件会更容易,你真的不需要UITableViewController。如果你将它们分开,那么委托和数据源之间很可能会有很大的耦合,因为它听起来需要在它们之间传递大量信息,这就无法将它们分成不同的类。
答案 1 :(得分:0)
当我在同一个UIViewController中有两个表视图并且可以满足您的需求时,我通常使用的策略是为每个tableView创建一个Object类,例如:MyFirstTableViewManager和MySecondTableViewManager。
每个表视图管理器都被设置为每个tableview的委托和数据源。
如果我需要在每个tableview上显示大量信息,我在每个Table View Manager类上创建属性,我从UIViewController设置。
这样我就分割了管理每个表视图的逻辑,使其更容易并保持干净。从我的UIViewController我可以通过设置每个Table View Manager属性设置信息显示在每个表视图上,并让它们重新加载它需要时的数据。
希望这会对你有所帮助。