Messaging向一个实例发消息,runtime使用的是objc_msgSend函数来发送的。每一个class都有一个指针指向他的super class,有一个 dispatch table,指向每个方法的地址。每一个实例(来自NSObject or NSProxy)都有一个指针isa,指向他的c...
分类:
其他好文 时间:
2015-09-11 19:01:29
阅读次数:
133
运行时常用什么是Runtime(前面的文章已经说的很清楚了,这里就简单的介绍一下)我们写的代码在程序运行过程中都会被转化成runtime的C代码执行,例如[target doSomething];会被转化成objc_msgSend(target, @selector(doSomething));。O...
分类:
移动开发 时间:
2015-09-05 00:06:03
阅读次数:
319
OC动态调用OC的函数调用是消息发送模式,即在运行时动态调用函数,OC在编译期可以调用任何函数,只要声明过这个函数,就不会报错,在真正运行的时候才会根据函数的名称找到对应的函数来调用[ASPerson SayHello]编译时RunTime会将上述代码转化为objc_msgSend(ASPerson...
分类:
移动开发 时间:
2015-08-21 12:55:35
阅读次数:
220
1. [ ] 表示发送消息 [receiver message] 会被编译器转化为: objc_msgSend(receiver, selector) 如果含有参数 objc_msgSend(receiver, selector, arg1, arg2, ...)2. Runtime 术语实例对象有...
分类:
其他好文 时间:
2015-08-20 12:18:27
阅读次数:
116
objc_msgSend 报错 too many arguments to function call,expected 0,have...
分类:
其他好文 时间:
2015-07-30 13:40:15
阅读次数:
131
利用runtime调用方法,可实现不做import,直接调用// Build Setting--> Apple LLVM 6.0 - Preprocessing--> Enable Strict Checking of objc_msgSend Calls 改为 NO- (void)execFunc...
分类:
移动开发 时间:
2015-07-12 18:44:14
阅读次数:
162
本系列主要参考资料:Objective-C Runtime ReferenceObjective-C Runtime Programming Guide涉及主要文件:objc/message.h,objc/objc-api.h,objc/objc.h,objc/runtime.h特酷吧[tekuba...
分类:
其他好文 时间:
2015-06-25 18:58:16
阅读次数:
188
http://blog.csdn.net/chenyong05314/article/details/421210012014-12-24 10:49 878人阅读 评论(0) 收藏 举报 转载自: http://iloss.me/post/kai-fa/2014-12-09-objc_msgsen...
分类:
其他好文 时间:
2015-06-25 15:28:34
阅读次数:
152
MJRefresh在Xcode6中会报错,objc_msgSend(self.beginRefreshingTaget, self.beginRefreshingAction, self),简单调试下就OK了。根据我给你得图,找到Build Settings--Apple LLVM 6.0 - P....
分类:
其他好文 时间:
2015-06-01 16:03:54
阅读次数:
118
关联对象,其实就是给某个对象关联其他一些对象,这些对象通过键来设置和存储,并且存储对象值得时候可以设置存储策略,常用在类别中比如我们给UIButton创建一个类别,不用将button处理的事件分开写了2.消息传递OC是C的超集,C语言使用的是静态绑定,在编译期就能决定运行时候调用的函数,而OC在给对...
分类:
其他好文 时间:
2015-05-31 21:29:34
阅读次数:
213