您的当前位置:首页正文

IOS 我不知道的CateGory

来源:华拓网
CateGory是类别,是为现有类添加的方式,这是一种比继承更为简洁的方法,来对类进行扩展,无需使用子类添加新方法,就能为现有的方法添加新方法,还可以进行方法的重写。

类别的优缺点

  • 缺点

    • 无法向(@interface)类中添加新的实体变量(成员属性)

    • 名称冲突,类别中的方法与原始类方法名称冲突时,由于类别拥有更高的优先级,类别方法将完全取代原始方法,从而无法再使用原始方法。

  • 优点

    • 可以将类的实现分散到不同文件中(可以建立N个CateGory) 记住(#import)

接下来,就由我来列举一下我们项目中使用CateGory的方法吧

  • 加载图片的方法

#import "UIImageView+AFNetworking.h"使用cateGory(类别)方法加载图片

- (void)setImageWithURL:(NSURL *)url {
    [self setImageWithURL:url placeholderImage:nil];
[cell.imageview setImageWithURL:[NSURL URLWithString:
dic[@"logoPath"]]];   
 }
  • 校验是否为有效的手机号 #import "NSString+MALNSString.h"
(![_TextFieldThree.text isMobilePhoneNumber])

  • 设置导航栏背景图片 ,和Title#import "UIViewController+MALNavigation.h"
[UIViewController setNavigationBarBgImage:self.
navigationController andBgImage:[UIImage imageNamed:@"图片名字"]];
[self setCenterItemWithTitle:@""];

  • 创建CateGory@interface UIImageView_Bg:UIImageView
    把_删除在Bg处用()括住,把继承删除