![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS&Android&Web
「已注销」
程序员
展开
-
OC 中消息转发的流程图
原创 2015-01-04 09:13:10 · 611 阅读 · 0 评论 -
Objective-C runtime之消息转发机制(三)
学了那么久的Objective-C,给我的感觉就是它什么都是动态的,你将会听到一个新的名词: 一、动态方法解析 1、+(BOOL) resolveInstanceMethod:(SEL) sel 这是NSObject根类提供的类方法,调用时机为当被调用的方法实现部分没有找到,而消息转发机制启动之前的这个中间时刻。 2、@dynamic关键字 Objective-C2.转载 2014-12-31 17:16:03 · 567 阅读 · 0 评论 -
Objective-C runtime之消息(二)
今天开始说说runtime system中最关键的消息相关内容。 一、runtime中的消息 1、什么是消息 进入今天的正题之前,先来说说跟message息息相关的几个概念 ①message(消息) message的具体定义很难说,因为并没有真正的代码描述,简单的讲message 是一种抽象,包括了函数名+参数列表,他并没有实际的实体存在。 ②method(方法) metho转载 2014-12-31 17:11:31 · 396 阅读 · 0 评论 -
Objective-C runtime之运行时的基本特点(一)
作为一门动态编程语言,Objective-C 会尽可能的将编译和链接时要做的事情推迟到运行时。只要有可能,Objective-C 总是使用动态 的方式来解决问题。这意味着 Objective-C 语言不仅需要一个编译环境,同时也需要一个运行时系统来执行编译好的代码。运行时系统(runtime)扮演的角色类似于 Objective-C 语言的操作系统,Objective-C 基于该系统来工作。因转载 2014-12-31 17:10:46 · 414 阅读 · 0 评论 -
Objective-C通过联合存储为类增加属性及原理解析
动态语言的最大好处,就是灵活性,对于Objective-C来说,能在运行时动态地为类增加方法和实例变量是很多其它语言羡慕不已的能力。现在说说为类增加实例变量用到的技术:联合存储。 一、联合存储的实现方式 下面这段代码实现了为Duck类增加color属性: Duck+associative.h文件 [cpp] view plaincopy转载 2014-12-31 17:08:42 · 395 阅读 · 0 评论