Category、Extension
Category,分类,类目。主要作⽤用是为没有源代码的添加方法,例系统自带的NSString。
通过Category添加的方法会成为原类的一部分。从⽽而达到扩展一 个类的功能。
Category
NSString+SayHi.h文件
@interface NSString (SayHi)
- (void)hi;
@end
/*
分类的作用:在不改变原来类内容的基础上,可以为类增加一些方法
使用注意:
1.分类只能增加方法,不能增加成员变量
2.分类方法实现中可以访问原来类中声明的成员变量
3.分类可以重新实现原来类中的方法,但是会覆盖掉原来的方法,会导致原来的方法没法再使用(对于非系统方法)
4.方法调用的优先级:分类(最后参与编译的分类优先) --> 原来类 --> 父类
*/
分类的作用:在不改变原来类内容的基础上,可以为类增加一些方法
使用注意:
1.分类只能增加方法,不能增加成员变量
2.分类方法实现中可以访问原来类中声明的成员变量
3.分类可以重新实现原来类中的方法,但是会覆盖掉原来的方法,会导致原来的方法没法再使用(对于非系统方法)
4.方法调用的优先级:分类(最后参与编译的分类优先) --> 原来类 --> 父类
*/
类目:针对系统创建类
subclass 子类
扩展:
Extension管理私有方法,是类目一种,可以扩充属性,但类目只能添加方法。
延展中的私有方法属性无法在主函数中调用,主要供程序员知道哪些方法属性私有的。(针对自定义的类)