iOS-了解Runtime

2017-09-08  本文已影响0人  a浮生若梦a

一.Runtime是什么?

Runtime也叫运行时态,是iOS底层用C语言函数和汇编语言封装的一套API,我们的程序在运行过程中,都是基于Runtime实现的。

二.Runtime的消息机制

//例如我们创建一个People类
People * pe = [[People alloc] init];

//通过objc_msgSend函数来发送消息,转换为:
id pe = objc_msgSend(objc_msgSend([Person class], @selector(alloc)), @selector(init));

//再通过objc_getClass和sel_registerName函数往下转换为:
id pe = objc_msgSend(objc_msgSend(objc_getClass("Person"), sel_registerName("alloc")), sel_registerName("init"));

这是下面讲的Demo下载地址

二.Runtime演示一

二.Runtime演示二

上一篇下一篇

猜你喜欢

热点阅读