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
|