OC分类
为现有类(一般是系统类)扩展一些新的方法,而不通过子类继承
以上为例,自动创建出两个文件
NSString+AddMethod.h
1 #import <Foundation/Foundation.h>
2
3
4 @interface NSString (AddMethod)
5
6
7 @end
NSString+AddMethod.m
1 #import "NSString+AddMethod.h"
2
3
4
5 @implementation NSString (AddMethod)
6
7
8
9 @end
定义类别的语法
定义类别时注意
- 定义类别时使用的类名必须是已有的类,且定义的类别名必须是该项目中没有的类
- 类别中只能定义方法,不能定义成员变量
写在后面的话
使用类别一般是为现有类扩展一些新方法,虽然类别可以重写原有类中的方法,但通常利用继承来实现重写
通过类别为指定类添加新方法后,该方法不仅影响NSString类,还会影响NSString类的所有子类,每个子类都会获取类别扩展的方法
可根据需要为一个类定义多个类别,不同类别都可对原有类增加方法定义
使用类别处了为 现有类扩展一些新方法外,另一个作用是为类中方法分门别类
链接
OC编程 / OC分类-示例
OC编程 / OC分类-定义多个类别

浙公网安备 33010602011771号