在UIViewController和UITableViewDelegate之间进行通信

时间:2018-02-12 16:24:03

标签: ios objective-c uitableview uiviewcontroller

我有UIViewController,其中包含UITableView(以及其他观点)。

根据某些条件,UITableView可以从两个UITableDataSource中的一个获取其单元格。

我的UITableDataSource课程也充当我的UITableViewDelegate

选择单元格(tableView:didSelectRowAtIndexPath)后,我可能希望对UIViewController执行操作,例如performSegue或显示提醒。

最好的方法是什么?

  1. 在每个数据源/委托类
  2. 中添加对UIViewController的弱引用
  3. 为每个数据源/委托类创建一个委托,该类调用UIViewController
  4. 中的函数
  5. 您的建议在这里!
  6. 我考虑过将UIViewController设为UITableViewDelegate但由于细胞因素不同而我认为它会变得混乱。

      

    注意:我说“最好的方式”,但实际上我只是对替代方法感兴趣

1 个答案:

答案 0 :(得分:0)

最常见的方法是继承UITableViewController并在那里实现UITableViewDelegateUITableDataSource。您可以根据控制器类中的任何状态返回cellForRowAtIndexPath中所需的任何单元格。