在Objective-C中,我们可以以更简单的方法来扩展现有类以满足自己的需求。例如,我需要在NSString中添加一个show方法来输出一个log。
//
@interface NSString (Op)
-(void) show ;
@end
@implementation NSString (Op)
-(void) show
{
NSLog(@" this is NSString show.") ;
}
@end
代码中的Op为分类名,分类名位于圆括号当中,也可以不使用分类名,例如 @interface NSString () 。我们在该分类中添加了show函数,然后在@implementation中实现了该函数,这样我们就扩展了NSString,而不需要使用继承。使用如下 :
NSString* str = [[NSString alloc] init] ;
[str show] ;
Objective-C中@property的所有属性详解