跨多个UIViewControllers使用单个UITableViewCell子类

时间:2013-11-21 07:06:19

标签: cocoa-touch uitableview uiviewcontroller

所以我有这个UITableViewCell子类,里面有一些非常复杂的逻辑 - 它触发了UIViewController实际附加的一些动作。当然,单元格不知道它的UIViewController,但我仍然像这样导航它:

UITabBarController *tabVC = (UITabBarController *)appDelegate.rootVC.centerPanel;
SGFirstTabViewController *firstTab1 = [tabVC.viewControllers firstObject];

[firstTab1 reloadCell:self];

现在我想在大约5个不同的UITableViewCell周围使用UIViewControllers的相同子类。

最好的方法是什么?我几乎不会知道UITableViewCell's VC是什么,我根本无法一遍又一遍地创建具有相同代码的5个不同的单元子类。围绕它的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

我认为在模型 - 视图 - 控制器编程模式中,单元格的作用可能存在一些误解。

单元格不应重新加载,但应该告诉它由控制它的视图控制器重新加载。单元格中的重新加载代码可以保持不变。

因此,不是单元格必须找出其视图控制器是哪一个,而是让视图控制器监听单元格操作(例如,通过委托方法),并按照指示用适当的重载数据填充它。

相关问题