Runtime
jgl357
iOS开发,移动专家.java开发,让移动端开发更简洁
展开
-
Runtime 基本介绍(一)
1.Runtime是什么Runtime又叫运行时,是iOS内部核心之一,起底层实现是C语言,平时调用的活着编写的OC代码,底层基本都是基于Runtime实现的。比如:[rereiver message];底层运行时会被编译器自动转为:objc_msgSend(recveiver,selector); 如果带有参数的话:[receeiver message:(id)arg...]; 底层运行...转载 2018-09-25 11:58:53 · 3559 阅读 · 0 评论 -
Runtime 相关术语(二)
一.Runtime相关术语1.SEL它是 selector 在 Objc 中的表示(swift 中是Selector 类)。selector是方法选择器,它的作用就和名字是一样的,在日常生活中,我们通过人名辨别谁是谁,注意 Objc 在相同类中不会有命名相同的两个方法。selector对方法名进行包装,以便找到对应的方法实现。它的数据结构是: typedef struct objc_sel...转载 2018-09-27 12:00:23 · 183 阅读 · 0 评论 -
Runtime 与消息的关系(三)
一:简介1.体会苹果官方文档中的 messages aren’t bound to method implementations until Runtime。消息直到运行时才会与方法实现进行绑定。转载 2018-09-27 15:53:36 · 207 阅读 · 0 评论 -
Runtime 常用场景(四)
1. Runtime 怎么添加属性、方法?* ivar 表示成员变量* class_addIvar* class_addMethod* class_addProperty* class_addProtocol* class_replacePropeerty2.Runtime 如何实现 weak 属性?weak 策略表明该属性定义了一种“非拥有关系”(nonowning ree...转载 2018-09-30 16:11:00 · 196 阅读 · 0 评论