类目的优点:不需要通过子类而增加现有类的行为(方法),且类目中的方法与原始类方法基本没有区别
类目的缺点:无法向类目中添加实例变量。覆盖原始类方法后,原始类的方法没办法调用。
Main.m
#import "NSArray+Extension.h" /* 使用类目为NSArrary扩展一个方法,该方法可以返回一个倒置数组 */ int main(int argc,const char * argv[]) { NSArray *arrary = @[@1,@2,@3,@4]; NSArray *sortArrary = arrary.sortedArray; NSLog(@"%@",sortArrary); return 0; }
NSArray+Extension.h
- (NSArray *)sortedArray;
NSArray+Extension.m
- (NSArray *)sortedArray { //创建一个可变数组 NSMutableArray *mutArrary = [[NSMutableArray alloc] init]; for (int i = self.count-1; i>=0; i --) { //取出元素数组中的元素 [mutArrary addObject:[self objectAtIndex:i]]; } return mutArrary; }