category
category是类别,是为现有的类添加一个方式,这是一种比继承更简捷的方法,对类进行扩展,不用创建子类就能为现有的类添加方法。
他不但可以添加新方法,还可以重写方法。
优缺点
缺点:
- 1无法向类里添加实体变量(成员属性)
不能在interface下建立变量 - 2名称冲突当类别的方法名称与原先初始方法的类名称一样,则类别方法有优先级,将会替代原始方法。
优点
*1可以将类的实现分散到不同的文件当中
接下来介绍一下应用中用到的category
- UIImageView+AFNetworking 加载网络图片
- UIViewController+MALNavigation
调用了setCenterItemWithTitle方法来设置导航栏标题
-(void)viewDidLoad {
[super viewDidLoad];
[self setCenterItemWithTitle:@"小懒猫"];
还有设置导航栏的左按钮右按钮等等方法都是此类里的方法,就不一一例举了
- UIScrollView+PullScale
下拉刷新里用到了此类里的方法
[self.tableView addPullScaleFuncInVC:self imgName:@"cover" originalHeight:150 hasNavBar:(self.navigationController!=nil)];
- UIKit+AFNetworking