好处:
您可以扩展您没有源的任何类,甚至是那些类.例如,查看Apple添加到NSString类中的UI扩展以进行呈现,获取指标等.
由于您可以访问所有实例变量,因此类别为您提供了一种使用逻辑分组在编译单元之间构建代码的好方法,而不是像Java那样采用"它必须都在一个物理位置"的方法.
缺点:
AFAIK,如果您尝试以下方式,语言无法保证实际调用哪个实现:
@interface Foo { }
- (void) method;
@end
@interface Foo (MyCategory)
- (void) method;
@end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4685 次 |
| 最近记录: |