当我们需要在系统自带的类中新增自定义的方法时,可以对原有的类中定义的方法进行扩展,这成为分类。
1、分类Category的主要用途
当我们需要对一个类新增一些新方法时,需要用到分类。特别是针对系统自定义的类,如UIView、UIImageView等都如此。例如,大名鼎鼎的SDWebImage框架,就是对UIImageView增加了分类。
2、创建分类的方法
Xcode中可以通过如下步骤创建分类:
在.h文件中,添加需要实现的新方法名称
#import
@interfaceUIImageView(DefaultImage)
+(UIImageView*)imageViewWithDefaultImage;
@end
在.m文件中,实现方法
#import "UIImageView+DefaultImage.h"
@implementationUIImageView(DefaultImage)
+(UIImageView*)imageViewWithDefaultImage{
UIImage*image=[UIImageimageNamed:@"526-1"];
UIImageView*imageView=[[UIImageViewalloc]initWithImage:image];
returnimageView;
}
@end
3、使用分类时的注意事项
不要用分类去重写已经存在的方法;
通过使用分类添加的方法,不仅针对该类有效,对于其子类也有效,例如:给UIView添加了分类,UIImageView、UIButton等子类也可以使用;
对象+分类必须名称唯一。