简单来说,Objective-C runtime是一个实现Objective-C语言的C库。对象可以用C语言中的结构体表示,而方法(methods)可以用C函数实现。事实上,他们 差不多也是这么干了,另外再加上了一些额外的特性。这些结构体和函数被runtime函数封装后,Objective-C程序员可以在程序运行时创建,检 查,修改类,对象和它们的方法。
runtime不需要知道Foundation。runtime会让程序定义转发函数 (forwarding function),当objc_msgSend()无法找到该selector的实现时,那个转发函数就会被调用。程序一启动,CoreFoundation就将-forwardInvocation:定义成转发函数。
参考网站http://mobile.51cto.com/hot-434685.htm
网友评论