我正在使用名为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,但我猜这有性能影响。
谢谢!
答案 0 :(得分:1)
我无法访问UIBubbleTableView的UITableView委托方法
为什么不呢?当然可以!毕竟,UITableView的委托获取scrollViewDidScroll
不是因为它是UITableView,而是因为它是UIScrollView。嗯,那么UIBubbleTableView也是如此。它既是UITableView 又是 UIScrollView。这就是继承的含义。
您无需声明@property
。 UIBubbleTableView已经有一个delegate
属性,继承自它的超类UITableView。同样,这就是继承意味着什么。只需按照代码或通过插座的方式为任何表视图设置委托。没有必要声明任何东西,不需要链接任何东西。表视图委托是UIBubbleTableView委托。
如果您需要另一个委托(一个用于某些UIBubbleTableView委托协议方法,另一个用于UITableView委托协议方法),那么您必须为该属性指定一个不同的名称,不是吗? / p>