首页 > 代码库 > Category、Extension

Category、Extension

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

Category、Extension