从
apple文档中了解到Object-c的Category的作用仅有一个:
* 向现有的类中添加方法(添加任意个数)
* 向现有的类中添加方法(添加任意个数)
// NSString+log.h
@interface NSString (log)
-(void) log;
@end
// NSString+log.m
@implementation NSString (log)
-(void) log {
NSLog(@"log!");
}
@end
就这样, 就实现了向NSString 类中添加了log方法.
Category 是不可以重写原始类的方法的, 比如
@interface NSOperation(main)
-(void) main;
@end
@implementation NSOperation(main)
-(void) main{ //这里会有一个警告: "Category is implementing a method which will also be implemented by its primary class"
}所以, 这里要想重写main方法, 就必须在子类中重写. (Object-c只支持单继承).
本文介绍了Objective-C中Category的概念及使用方式。Category允许开发者为现有类添加新方法,但不能重写原有方法。要重写方法,需通过子类实现。

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



