Cocoa touch 跨多个UIViewController使用单个UITableViewCell子类

Cocoa touch 跨多个UIViewController使用单个UITableViewCell子类,cocoa-touch,uitableview,uiviewcontroller,Cocoa Touch,Uitableview,Uiviewcontroller,因此,我有一个UITableViewCell子类,其中包含一些非常复杂的逻辑-它触发了它实际连接到的UIViewController中的一些动作。当然,单元格不知道它的UIViewController,但我仍然像这样导航到它: UITabBarController *tabVC = (UITabBarController *)appDelegate.rootVC.centerPanel; SGFirstTabViewController *firstTab1 = [tabVC.viewContr

因此,我有一个
UITableViewCell
子类,其中包含一些非常复杂的逻辑-它触发了它实际连接到的
UIViewController
中的一些动作。当然,单元格不知道它的
UIViewController
,但我仍然像这样导航到它:

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

[firstTab1 reloadCell:self];
现在的问题是,我想在大约5个不同的
UIViewControllers
中使用相同的
UITableViewCell
子类


最好的方法是什么?我几乎永远不知道什么是
UITableViewCell的
VC,我无法用相同的代码一遍又一遍地创建5个不同的单元格子类。最好的解决方法是什么?

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

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


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

这听起来是个完美的主意。那么,将所有这些委托内容放在多个VC中,会不会让他们发现触发了哪些VC的操作发生冲突?如果一个单元格应该触发多个其他VC的操作,那么您需要一个不那么紧密的耦合机制:
NSNotificationCenter
!另外,如果您没有表格视图,请不要使用单元格。谢谢您的宝贵建议。支持MVC模型的两个非常有用和聪明的想法)