0

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

在我正在设置的视图控制器中,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,但我猜这会对性能产生影响。

谢谢!

4

1 回答 1

1

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

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

您不需要声明@property. UIBubbleTableView 已经有一个delegate属性,继承自它的超类 UITableView。同样,这就是继承的意思。只需按照您对任何表格视图的方式设置委托,无论是在代码中还是通过插座。不需要声明任何东西,不需要链接任何东西。表视图委托是 UIBubbleTableView 委托。

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

于 2013-05-17T17:52:48.643 回答