OC分类

作者: bugLife丶 | 来源:发表于2019-07-25 15:31 被阅读0次

1.分类的作用? 声明私有方法,分解体积大的类文件,把framework的私有方法公开

2.分类的特点 运行时决议,可以为系统类添加分类 。 说得详细些,在运行时时期,将 Category 中的实例方法列表、协议列表、属性列表添加到主类中后(所以Category中的方法在方法列表中的位置是在主类的同名方法之前的),然后会递归调用所有类的 load 方法,这一切都是在main函数之前执行的。

3.分类可以添加哪些内容? 实例方法,类方法,协议,属性(添加getter和setter方法,并没有实例变量,添加实例变量需要用关联对象)

4.如果工程里有两个分类A和B,两个分类中有一个同名的方法,哪个方法最终生效? 取决于分类的编译顺序,最后编译的那个分类的同名方法最终生效,而之前的都会被覆盖掉(这里并不是真正的覆盖,因为其余方法仍然存在,只是访问不到,因为在动态添加类的方法的时候是倒序遍历方法列表的,而最后编译的分类的方法会放在方法列表前面,访问的时候就会先被访问到,同理如果声明了一个和原类方法同名的方法,也会覆盖掉原类的方法)。

5.如果声明了两个同名的分类会怎样? 会报错,所以第三方的分类,一般都带有命名前缀

6.分类能添加成员变量吗? 不能。只能通过关联对象(objc_setAssociatedObject)来模拟实现成员变量,但其实质是关联内容,所有对象的关联内容都放在同一个全局容器哈希表中:AssociationsHashMap,由AssociationsManager统一管理。

相关文章

  • 分类、类扩展与继承

    在OC中,扩展一个类的方式有两种,继承和分类。 分类(Category) 概念 分类(Category),是OC中...

  • OC分类

    1.分类的作用? 声明私有方法,分解体积大的类文件,把framework的私有方法公开 2.分类的特点 运行时决议...

  • OC 分类

    1.分类的作用 声明私有方法, 分解体积大的类文件, 把framework的私有化方法公开 2.分类的特点 运行时...

  • OC分类

    OC分类 一、分类的作用 对现有已存在的类添加方法,但是不想在现有类中进行修改,如果团队开发,直接在现有类中进行修...

  • OC分类

    Category底层结构 Category加载过程 1.通过Runtime加载某个类的所有Category数据 2...

  • iOS学习相关内容

    OC基础_分类: 分类的定义:分类是OC中的特有语法,它是表示一个指向分类结构体的指针,它是为了扩展系统类的方法而...

  • UIButton倒计时

    oc 用法 NSObject分类 swift 用法

  • OC中分类,拓展 和 swift中拓展

    OC中分类 分类创建 分类格式: UIColor+ColorChange.h头文件 UIColor+ColorCh...

  • iOS面试之OC模块

    OC oc内容如下:1.分类2.关联对象3.扩展4.代理5.通知6.KVO7.KVC8.属性关键字 1.分类 分类...

  • 分类(Category)与类拓展(Extension)

    分类(Category) 1.分类(Category)是什么? 分类是oc特有的语法,表示指向分类的结构体指针。分...

网友评论

      本文标题:OC分类

      本文链接:https://www.haomeiwen.com/subject/ovphrctx.html