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技术交流
     
  • 相关阅读:
    Longest Substring Without Repeating Characters
    Longest Valid Parentheses
    LInux下编译发生的libc相关错误
    【转载】字符编码笔记:ASCII,Unicode和UTF-8
    Python深入:super函数
    Python基础:常用函数
    25最小操作数问题
    24字符串最短编辑距离
    23最大乘积子串
    22倒排索引简介
  • 原文地址:https://www.cnblogs.com/jerehedu/p/4958715.html
Copyright © 2011-2022 走看看