Category(分类)及类扩展

Category

1. 【理解】什么是Category

2. 【掌握】Category的格式

 

1.什么是Category

- Category有很多种翻译: 分类 \ 类别 \ 类目 (一般叫分类)

- Category是OC特有的语法, 其他语言没有的语法

 

2.Category的格式

- 在.h文件中声明类别

    + 1)新添加的方法必须写在 @interface 与 @end之间

    + 2)ClassName 现有类的类名(要为哪个类扩展方法)            + 3)CategoryName 待声明的类别名称

    + 4)NewMethod 新添加的方法

 

@interface ClassName (CategoryName)

NewMethod; //在类别中添加方法

//不允许在类别中添加变量

@end

 

 Category的作用

    + 可以在不修改原来类的基础上, 为这个类扩充一些方法

    + 一个庞大的类可以分模块开发

    + 一个庞大的类可以由多个人来编写,更有利于团队合作

 

 Category注意事项

- 分类只能增加方法, 不能增加成员变量

- 分类只能增加方法, 不能增加成员变量

- 分类只能增加方法, 不能增加成员变量

- 分类只能增加方法, 不能增加成员变量

如果多个分类都和原有类同名的方法,执行哪一个由编译器决定,

执行最后编译的文件方法

(注意开发中千万不要这么干)

 

- 方法调用的优先级(从高到低)

    + 分类(最后参与编译的分类优先)

    + 原来类

    + 父类

类扩展(Class Extension)

 

用在什么地方:

 

UI控件等

1.什么是类扩展

- 延展类别又称为扩展(Extendsion),Extension是Category的一个特例

- 可以为某个类扩充一些私有的成员变量和方法

    + 写在.m文件中

    + 英文名是Class Extension

---

2.类扩展书写格式

@interface 类名 ()

@end

 

 

posted @ 2015-11-26 15:30  a滴答  阅读(335)  评论(0编辑  收藏  举报