* 向現有的類中添加方法(添加任意個數)
// 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只支持單繼承).