作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- 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/
我是一名优秀的程序员,十分优秀!