Objective-C 中的类别、委托与协议详解
1. 类别(Categories)的作用
类别为向现有类添加新方法提供了途径,即便没有这些类的源代码也能实现。在实现文件顶部放置类别是常见做法。例如,对于 Car 类,假设它有一个 rotateTires 方法,可通过另一个 moveTireFromPosition:toPosition: 方法来实现 rotateTires ,用于交换两个位置的轮胎。 moveTireFromPosition:toPosition: 属于实现细节,无需放入汽车的公共接口中。通过在类别中声明它, rotateTires 可以使用该方法而不会产生编译器警告。类别声明如下:
@interface Car (PrivateMethods)
- (void) moveTireFromPosition: (int) pos1
toPosition: (int) pos2;
@end // Private Methods
实现此方法时,不一定要在 @implementation Car (PrivateMethods) 块中,可将其留在 @implementation Car 部分。这样能将方法按类别划分,便于组织和文档编写,同时仍可将所有方法集中在一个实现文件中。
超级会员免费看
订阅专栏 解锁全文
91

被折叠的 条评论
为什么被折叠?



