zoukankan      html  css  js  c++  java
  • 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技术交流
     
  • 相关阅读:
    sqlserver 中的 substring函数(转)
    C#二个相减怎么获得天数,就是比如201225 与201231之间相差的天数
    C++文件添加到项目中
    VS2008动态链接库(DLL)的创建与导入
    美剧字幕绿箭侠第1季第7集
    C++中#define用法
    C++头文件的重复引用
    visual studio中解决方案是什么
    NewWords/300400
    指针
  • 原文地址:https://www.cnblogs.com/jerehedu/p/4958715.html
Copyright © 2011-2022 走看看