类目的优点:不需要通过子类而增加现有类的行为(方法),且类目中的方法与原始类方法基本没有区别
类目的缺点:无法向类目中添加实例变量。覆盖原始类方法后,原始类的方法没办法调用。
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;
}