你的位置:首页 > 操作系统

[操作系统]Ios开发之Category


Category是在不改变已存在类的情况下,对其添加方法来达到对类进行功能扩展的目的。

对类功能进行拓展的时候,我们会有多种方式,比如说可以通过继承也可以进行功能扩展,但是在Category和继承上我们通常会优先选择Category。

通过Category对一个类进行扩展有几点好处。

1、可以不用改变现存的类文件,同样可以框架中的类直接进行功能扩展,这种情况下不需要改变对象所指向的数据类型。

2、我们可以直接在现存的类中添加Category,这种情况下,我们可以对类中的功能做一个功能区分,达到将功能分组的目的。如果查看框架中的一些类文件的话,你会发现他们大多都适用Category做了功能区分。

3、很多的第三方软件大量的使用Category做自定义改造,比如说SDWebimage就是通过Category做的功能扩展。

4、Category可以实现多人共同开发的功能,只要将功能区分好,

可以实现多人同时对统一个类的功能开发,提高开发效率。

下面我们来看它的用法:

1.新建一个Category文件的时候可以在objective-c file文件中选择

2.File:填写Category名称

 File Type:选择Category

 Class:选择要扩展功能的类

3.建好之后类名称会直接变成现在的样子,我们可以看到,我们是对NSString做了一个反转的功能扩展。

4.在头文件中添加要拓展的方法,我们现在是对NSString添加和一个反转的方法。

 5、在我们的实现文件中实现我们拓展的方法这样我们就可以对我们的NSString对象直接进行反转的功能

  6、我们接下来看一下怎样使用它,使用的时候将我们的头文件import进来,原先指向NSString的对象可以直接使用它所扩展的功能。

 

作者:杰瑞教育
出处:http://www.cnblogs.com/jerehedu/ 
版权声明:本文版权归烟台杰瑞教育科技有限公司和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
技术咨询:JRedu技术交流