码迷,mamicode.com
首页 > 其他好文 > 详细

runtime运行时

时间:2016-05-03 17:41:37      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

一、runtime是一套底层的C语言库,编译器在编译object-C代码是,最终都转换成了runtime的C语言代码。

例如:[UIView alloc];在编译时会转换成objc_msgsend(UIView,@selector(alloc));

每一个对象内都有一个isa指针,它指向对象所在的类(类中也有一个isa指针,指向其元类metaclass),在调用方法时,编译器会通过isa指针一层层向上找,直到找到根元类(root metaclass),如果没有找到,就会报错。找到后通过函数指针调用函数;

二、通过添加#import <objc/runtime.h>,我们可以调用runtime提供的方法,实现类的创建、方法替换、方法实现等操作;

三、一些著名的第三方库都用到了runtime:AFNetworking、SDWebImage等;KVO的底层实现也用到过runtime;

runtime运行时

标签:

原文地址:http://www.cnblogs.com/zhuyiios/p/5455683.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!