在NSProxy中包装UITableViewController

时间:2009-11-15 19:34:03

标签: ios objective-c cocoa-touch

我有一个NSProxy的子类,用于将消息转发到对象实例或Lua函数(如果它们是为选择器定义的)。这适用于大多数情况。然而,UITableViewController完全是另一种情况。当我使用UITableViewController(或存根子类)的实例设置我的代理对象时,它似乎没有收到我期望它的任何UITableViewDelegateUITableViewDatasource消息

我在Lua中实现了必要的方法,并且在手动调用时它们会正确响应,但是当我将代理UIViewController视图添加到层​​次结构时,它们似乎永远不会被调用。我可能会缺少什么?

1 个答案:

答案 0 :(得分:1)

你可能会被一些UIKit类处理其委托连接的方式绊倒。它们在内部保留一组标志,指示委托可以响应的消息。设置委托或数据源插座时,TableView将向相关对象发送多条-respondsToSelector:消息,并记住返回的消息TRUE