ios分类category加载分析

12,910 阅读1分钟

主类有load,分类无load

方法非懒加载

methods()获取到 主类和分类的所有方法, 分类的同名方法在主类之前,结构为list

主类无load,分类有load

方法非懒加载

methods()获取到 主类和分类的所有方法,

分类的同名方法在主类之前,结构为list

主类无load,分类无load

方法懒加载

methods()获取到 主类和分类的所有方法,(调用类的 class 就会触发)

分类的同名方法在主类之前,结构为list

主类有load,分类有load

方法非懒加载

category attachlist

array[list], 数组第一个元素为category 方法list,第二个为类的 方法list

主类无load,多个分类无load

方法懒加载

调用类的 class 就会触发, methods()获取到 主类和所有分类的所有方法,

所有分类的同名方法均在主类之前

分类的同名方法按照 Build Phases源文件顺序,后面进来的分类方法往前一个分类方法前插

主类无load,多个分类都有load

方法非懒加载

category attachlist

array[list], 最后一个元素为类的 方法list

前面的元素为category 方法list

category 按照 Build Phases源文件顺序,后面进来的分类方法list往前一个分类list元素前插