我需要调用一个方法并将一个对象从我的自定义UITableViewClass
实现传递到我的UITableViewController
类。我意识到在自定义tableViewCell中创建tableViewController的实例,并且调用tableViewController的方法是一种不好的做法。
这样做的正确方法是什么?
答案 0 :(得分:0)
Objective-C中的两个神奇概念是Delegation和Notifications。
委托允许您将控制器挂钩到单元格中引用的弱对象,这样可以避免保留周期,同时仍允许您向其发送消息。
通知允许您的Cell向任何处于活动状态并正在侦听它的类广播一般通知。
选择一个,以最简单的方式,坚持下去。在这种情况下,两者基本相同。
答案 1 :(得分:0)
在单元格中引用tableController确实是不好的练习
您可以通过为@protocol
实施特殊UITableViewClass
来解决此问题
并为其添加委托方法,然后将方法包含在UITableViewController
内,并且因为您的UITableViewClass
委托是您的UITableViewController
,那么您可以将其称为
在你的UITableViewClass.m
[delegate someMethod:data];