内容简介:本系列主要是看完MJ的OC底层原理课程所写的总结,希望自己能加深对iOS底层的了解。
本系列主要是看完MJ的OC底层原理课程所写的总结,希望自己能加深对iOS底层的了解。
Category的使用场合
- 拓展系统类的功能
- 给现有的类添加方法
- 可以替换原来类的方法
- 分类中重写load方法不会替换原来类的load方法
原理
struct category_t
- 分类的方法列表会分别合并到__Class__方法列表和__Meta-Class__方法列表
- 当消息发送的时候,遍历方法列表,由于分类的方法在列表的前面所以优先调用分类的方法,从而实现替换原来类的方法
load与initialize对比
条件 | +load | +initialize |
---|---|---|
关键方法 | (*load_method)(cls, SEL_load) |
objc_msgSend |
调用时机 | 被添加到 runtime 时 | 收到第一条消息前,可能永远不调用 |
调用顺序 | 父类->子类->分类 | 父类->子类 |
调用次数 | 1次 | 多次 |
是否需要显式调用父类实现 | 否 | 否 |
是否沿用父类的实现 | 否 | 是 |
分类中的实现 | 类和分类都执行 | 覆盖类中的方法,只执行分类的实现 |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
马尔可夫链:模型、算法与应用
Wai-Ki Ching、Ximin Huang / 陈曦 / 清华大学出版社 / 2015-6 / 39
《马尔可夫链:模型、算法与应用 应用数学译丛》讲述了马尔可夫链模型在排队系统、网页重要性排名、制造系统、再制造系统、库存系统以及金融风险管理等方面的最新应用进展.全书共安排8章内容,第1章介绍马尔可夫链、隐马尔可夫模型和马尔可夫决策过程的基本理论和方法,其余7章分别介绍马尔可夫链模型在不同领域中的应用. 《马尔可夫链:模型、算法与应用 应用数学译丛》可作为自动化、工业工程、统计学、应用数学以及管理......一起来看看 《马尔可夫链:模型、算法与应用》 这本书的介绍吧!