A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

分类中如果实现了和原始类中一样的方法那么分类的方法将会永久覆盖父类的方法。
而+load是这样说的:程序启动会加载所有类和分类,先加载父类再加载子类,先加载原始类再加载分类。
这样是不是就意味着分类中的+load方法不会覆盖掉原始类中的+load方法。
可是这是为什么呢。有没有懂编译器机理的大牛来帮我解惑呀!!!!!

4 个回复

正序浏览
我的想法是+load和-dealloc一样,只是oc发给我们的一个消息,真正载入和删除对象的是OC实现的,他们只是发个消息告诉我们而已
回复 使用道具 举报
虽然 没学到 当提前预习了
回复 使用道具 举报
香草芭芙 发表于 2015-5-16 18:05
load , 类跟分类 都调用, 因为这是加载.
加载 类跟分类的时候 load方法都会调用. 因为他们是分开加载的 ,  ...

没女你好 答的不错
回复 使用道具 举报
load , 类跟分类 都调用, 因为这是加载.
加载 类跟分类的时候 load方法都会调用. 因为他们是分开加载的 , 类加载完了 真得要调用类的方法的时候 优先调用分类的方法. 比如 initialize方法
以上是视频里的原话.
我得理解 :  加载就是把.m . h 文件读取到内存中去, 不然怎么执行.  然后load是 加载的时候调用的方法. (至于怎么在文件加载到内存的时候调用load方法? 不知道, 也不想知道 ;P)
接下来就是 优先级的问题了. 答: 先有鸡后有蛋
至于为什么加载顺序是 父类>子类>分类 , 请问苹果.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马