【问题标题】:Is there a smart way to superclass both UITableviewDataSource and a UICollectionViewDatasource有没有一种聪明的方法来超类 UITableviewDataSource 和 UICollectionViewDatasource
【发布时间】:2015-04-07 20:18:03
【问题描述】:

我想为 UITableviewDataSource 和 UICollectionViewDatasource 提供 1 个超类。正确的做法是什么?

【问题讨论】:

  • 你不能超类内置的 iOS 协议。你的意思是你想对它们进行子类化?有一个包含UITableViewDataSourceUICollectionViewDataSource 协议的协议吗?
  • 是的。拥有一个同时包含 UITableViewDataSource 和 UICollectionViewDataSource 协议的协议

标签: ios uitableview architecture uicollectionview


【解决方案1】:

您可以声明自己的协议并声明新协议符合UITableViewDataSourceUICollectionViewDataSource。我们称之为CombinedProtocol。然后任何说它实现CombinedProtocol 的东西都必须实现通常的表格视图和集合视图方法。

@protocol CombinedProtocol <NSObject, UITableViewDataSource, UICollectionViewDataSource>
// add any additional methods if you want
@end

【讨论】:

  • 不好。我希望从 CombinedProtocol 继承的类来实现 UITableViewDataSource 或(!!)UICollectionViewDataSource。两者都不是。
  • 哦。 “或”在那里是一个重要的词。我不知道有没有办法做到这一点。
猜你喜欢
  • 2020-08-28
  • 2021-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-19
  • 2022-01-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多