runtime的资料网上有很多了,部分有些晦涩难懂,我通过自己的学习方法总结一遍,主要讲一 些常用的方法功能,以实用为主,我觉得用到印象才是最深刻的。另外runtime的知识还有很多 什么是runtime? runtime 是 OC底层的一套C语言的API(引入 <objc/runtime.h> 或<objc/message.h>),编译器最终都会将OC代码转化为运行时代码,通过终端命令编译.m 文件:clang -rewrite-objc xxx.m可以看到编译后的xxx.cpp(C++文件)。 比如我们创建了一个对象 [[NSObject alloc]init],最终被转换为几万行代码。开这个帖子记录一下看到的一些比较好的runtime的文章。 1、详解Runtime运行时机制 http://www.code4app.com/blog-721976-204.html (亮点:本文详细整理了 Cocoa 的 Runtime 系统的知识,它使得 Objective-C 如虎添翼,具备了灵活的动态特性,使这门古老的语言焕发生机) 2、OC实用的runtime总结 http://www.code4app.com/home.php?mod=space&uid=721976&do=blog&quickforward=1&id=205 (亮点:通过自己的学习方法总结一遍,主要讲一些常用的方法功能,以实用为主) 3、DEMO 按钮点击,利用runtime hook 实现iOS防止按钮连续响应点击 http://www.code4app.com/forum.php?mod=viewthread&tid=7271&extra=page%3D1%26filter%3Dsortid%26sortid%3D1 (利用runtime hook 实现iOS防止按钮连续响应点击 可以设置时间间隔,拖进工程立即生效) 4、DEMO runtime 详解 http://www.code4app.com/forum.php?mod=viewthread&tid=8241&extra=page%3D1%26filter%3Dsortid%26sortid%3D1 5、DEMO iOS Runtime 实践 http://www.code4app.com/forum.php?mod=viewthread&tid=7638&extra=page%3D1%26filter%3Dsortid%26sortid%3D1 (亮点:通过DEMO方式实践iOS中的黑魔法runtime) 6、学习 runtime的简单项目 http://www.code4app.com/forum.php?mod=viewthread&tid=7201&extra=page%3D1%26filter%3Dsortid%26sortid%3D1 7、根据规则跳转到指定的界面(runtime实用篇一) http://www.code4app.com/forum.php?mod=viewthread&tid=10131&extra=page%3D1%26filter%3Dsortid%26sortid%3D1 8、Objective-C 中的runtime http://www.code4app.com/home.php?mod=space&uid=800778&do=blog&quickforward=1&id=282 |
Objective-C中的Runtime
http://www.jianshu.com/p/3e050ec3b759
Objective-C Runtime
http://yulingtianxia.com/blog/2014/11/05/objective-c-runtime/