从Custom UITableView获取DidEndScroll委托方法

时间:2013-05-17 17:35:35

标签: objective-c uitableview delegates

我正在使用名为UIBubbleTableView的自定义UITableView。

在我的View Controller中,我正在设置UIBubbleTableView一切正常。然而,我正在尝试实现延迟加载,所以我需要知道哪些单元格是可见的。不幸的是,我无法访问UIBubbleTableView的UITableView委托方法。我试着看看StackOverflow,我读链接代表是个好主意。所以我在UIBubbleTableView.h

中创建了一个委托

然而,当我投入时 @property (nonatomic, weak) id<UIBubbleTableViewDelegate> delegate;

我得到了 Property type 'id<UIBubbleTableViewDelegate>' is incompatible with type 'id<UITableViewDelegate>' inherited from 'UITableView'

链接代表真的是最好的方法还是有其他解决方案。我想过使用NSNotification,但我猜这有性能影响。

谢谢!

1 个答案:

答案 0 :(得分:1)

  

我无法访问UIBubbleTableView的UITableView委托方法

为什么不呢?当然可以!毕竟,UITableView的委托获取scrollViewDidScroll不是因为它是UITableView,而是因为它是UIScrollView。嗯,那么UIBubbleTableView也是如此。它既是UITableView 又是 UIScrollView。这就是继承的含义。

您无需声明@property。 UIBubbleTableView已经有一个delegate属性,继承自它的超类UITableView。同样,这就是继承意味着什么。只需按照代码或通过插座的方式为任何表视图设置委托。没有必要声明任何东西,不需要链接任何东西。表视图委托是UIBubbleTableView委托。

如果您需要另一个委托(一个用于某些UIBubbleTableView委托协议方法,另一个用于UITableView委托协议方法),那么您必须为该属性指定一个不同的名称,不是吗? / p>