从自定义UITableViewCell调用UITableViewController中的方法

时间:2012-06-14 19:02:25

标签: objective-c ios uitableview encapsulation

我需要调用一个方法并将一个对象从我的自定义UITableViewClass实现传递到我的UITableViewController类。我意识到在自定义tableViewCell中创建tableViewController的实例,并且调用tableViewController的方法是一种不好的做法。

这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:0)

Objective-C中的两个神奇概念是DelegationNotifications

委托允许您将控制器挂钩到单元格中引用的弱对象,这样可以避免保留周期,同时仍允许您向其发送消息。

通知允许您的Cell向任何处于活动状态并正在侦听它的类广播一般通知。

选择一个,以最简单的方式,坚持下去。在这种情况下,两者基本相同。

答案 1 :(得分:0)

在单元格中引用tableController确实是不好的练习

您可以通过为@protocol实施特殊UITableViewClass来解决此问题 并为其添加委托方法,然后将方法包含在UITableViewController内,并且因为您的UITableViewClass委托是您的UITableViewController,那么您可以将其称为 在你的UITableViewClass.m

[delegate someMethod:data];