RunTime 是一种C语言底层API 是苹果特有的运行时编程特性的底层实现方式 本身是C和汇编写出来的
1 什么是消息转发
主要是三层 Cache---->分发表---->消息转发
2 @dynamic 内部实现
<pre><code class="objc">
void dynamicMethodIMP(id self, SEL _cmd) { // implementation ....}@implementation MyClass+ (BOOL)resolveInstanceMethod:(SEL)aSEL{ if (aSEL == @selector(resolveThisMethodDynamically)) { class_addMethod([self class], aSEL, (IMP) dynamicMethodIMP, "v@:"); return YES; } return [super resolveInstanceMethod:aSEL];}@end
<code></pre>
网友评论