uitableview - uitableview 的自定义子类的问题

标签 uitableview ios

我正在编写 UITableView 的自定义子类。我需要这个对象本身成为它自己的数据源和委托(delegate),然后这个子类将有它自己的数据源和委托(delegate)。这主要是为了让我可以拦截对数据源的调用并委托(delegate)并可能在将它们发送到它们的实际数据源之前扩充它们。

我的类(class)是这样定义的。

CustomTableView : UITableView<UITableViewDelegate, UITableViewDataSource> {
   ...
   id customDataSource;
   id customDelegate;
}

当我尝试设置数据源和委托(delegate)时出现问题。

我想覆盖 uitableview 的属性:

- (void)setDataSource(id<UITableViewDataSource>)ds {
   [super setDataSource:self]
   customDataSource = ds;
}

基本上,我想告诉父类(UItableView)将数据源设置为自己。在我修改它们之后,我会将任何回调转发给 customDataSource。

[super setDataSource:self] 不会崩溃,但数据源永远不会被设置。有人有什么想法吗?谢谢

最佳答案

我最终不需要使用这个问题中提出的方法,但我确实让它工作了。问题是我不小心合成了需要覆盖的属性,即 dataSource 和 delegate。

对于将来需要这样做的人,只需覆盖自定义子类中的 setDelegate 和 setDataSource 即可。

关于uitableview - uitableview 的自定义子类的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4340758/

相关文章:

ios - NativeScript 中的 self.window

ios - 类型 'UIbutton' 的值不再有 'titleforState'

ios - 如何在 ios 中更改导航栏标题

iOS UITableView reloadData 仅更新我添加的最后一个条目,如何重新加载所有内容?

ios - 自动布局在自定义 TableViewCell 中被忽略

iphone - 从用户的 iTunes 库中导出视频

ios - 将 UISearchController 连接到 UISearchBar,而不将搜索栏嵌入到表格 View 或导航栏中

ios - 从 XIB 加载 AQGridViewCell(不工作)

ios - UITableViewCell 文本在 DispatchQueue 上缩小

ios - UIProgressView 在自定义 UITableViewCell 中自行更新