-1

我子类化UIScrollView并添加了一些我想在UITableView. 是否可以从我的自定义滚动视图而不是 UIScrollView 继承表视图?

4

2 回答 2

2

Objective-C 的强大功能之一是类别。

摘自Objective-C: 类别

作为子类化的替代方案,Objective-C 类别提供了一种向类添加方法的方法。有趣的是,您通过类别添加的任何方法都成为类定义的一部分,可以这么说。换句话说,如果你向 NSString 类添加一个方法,任何 NSString 的实例或子类都可以访问该方法。

于 2013-03-14T14:38:52.407 回答
0

您应该能够扩展UIScrollView. 在扩展(或类别)范围内,扩展也应适用于所有子类。但是,我自己从未尝试过。

您不能子类化UIScrollView(比如说命名MyScrollView),然后创建您的子类 MyScrollView 的现有UITableView子类,而不是UIScrollView. 但是扩展UIScrollView应该有效。

但是,如果您在扩展中提供了方法 abcMySuperView同时UITableView还实现了 abc,则将调用 UITableView 的 abc。因此,我并没有真正看到这种构造与直接扩展或继承 UITableView 相比的优势。

于 2013-03-14T14:42:53.820 回答