@encode: 将数据类型编码成char*(字符串)形式 https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/ObjCRuntimeGuide.pdf To assist t ...
分类:
Web程序 时间:
2017-06-15 19:37:32
阅读次数:
184
NSMutableArray * mutableArray = [NSMutableArray arrayWithArray:array]; objc_msgSend(mutableArray,@selector(insertObject:atIndex:),@"0",0); 今天写了这么一段代码, ...
分类:
其他好文 时间:
2017-04-29 19:59:08
阅读次数:
189
一,关联 objc_get 1)建立关联:objc_setAssociatedObject;该函数需要四个参数:源对象,关键字,关联的对象和一个关联策略;当源对象销毁,关联的对象也会被销毁 源对象: 即绑定者 关键字: 是一个void类型的指针。每一个关联的关键字必须是唯一的。通常都是会采用静态变量 ...
分类:
其他好文 时间:
2017-04-10 15:19:48
阅读次数:
241
Objective-C是动态语言,每个方法在运行时会被动态转为消息发送,即:objc_msgSend(receiver, selector),整个过程介绍如下: objc在向一个对象发送消息时,runtime库会根据对象的isa指针找到该对象实际所属的类 然后在该类中的方法列表以及其父类方法列表中寻 ...
分类:
其他好文 时间:
2017-03-01 14:32:40
阅读次数:
143
runtime的消息机制前面提到过编译器最终会把我们的消息发送转化为函数调用
消息发送 [object sendMassage]
首先编译器会在运行时将上面的例子转化为objc_msgSend(ob...
分类:
其他好文 时间:
2017-02-02 04:50:14
阅读次数:
284
前言: 最初对于runtime的了解其实只停留在,知道这是一组C的方法,知道消息机制中会把方法调用转成objc_msgSend(theObject,@selector(objectMethod))。随后有一个具体的了解得益于一次尝试,使用runtime解决按钮连续点击限制;这个例子网上有一堆,就不再 ...
分类:
其他好文 时间:
2016-10-04 18:56:52
阅读次数:
192
该文是 objc_msgSend消息传递学习笔记 – 对象方法消息传递流程 的基础上继续探究源码,请先阅读上文。 消息转发机制(message forwarding) Objective-C 在调用对象方法的时候,是通过消息传递机制来查询且执行方法。如果想令该类能够理解并执行方法,必须以程序代码实现 ...
分类:
其他好文 时间:
2016-08-31 08:23:01
阅读次数:
420
在Effective Objective-C 2.0 – 52 Specific Ways to Improve Your iOS and OS X Programs一书中,tip 11主要讲述了Objective-C中的消息传递机制。这也是Objective-C在C的基础上,做的最基础也是最重要的 ...
分类:
其他好文 时间:
2016-08-30 09:28:37
阅读次数:
237
Objetive-C最基本的的东西就是它的消息机制。Objective-C运行时的最基本的东西就是 objc_msgSend, 它就是负责发送一个消息给对象的C函数。 Objetive-C最基本的的东西就是它的消息机制。Objective-C运行时的最基本的东西就是 objc_msgSend, 它就 ...
分类:
其他好文 时间:
2016-08-29 14:31:12
阅读次数:
165
[编写高质量iOS代码的52个有效方法](三)消息和运行期参考书籍:《Effective Objective-C 2.0》 【英】 Matt Galloway 先睹为快11.理解objc_msgSend的作用12.理解消息转发机制13.用“方法调配技术”调试“黑盒方法” 14.理解“类对象”的用意目录编写高质量iOS代码的52个有效方法三消息和运行期
先睹为快
目录
第11条理解objc_msgSe...
分类:
移动开发 时间:
2016-07-25 16:26:18
阅读次数:
338