常说OC是一门动态语言,这使得OC开发可以变得相当灵活,但是归根结底OC还是一种编译型的语言,其具有一定的动态性,但是其动态特性也比不上JavaScript这种解释型的语言.OC的动态性主要体现在这个文件中,下面我们打开这个文件,对其总结一下. 一.基本结构及其继承关系 要谈runtime首先必然要先了解OC的对象以及类的结构,这非常有助与我们理解其动态性. 首先我们打开<objc/objc.h>文件,可以看到如下定义: /// An opaque type that represents a…
/** * Describes the instance variables declared by a class. * * @param cls The class to inspect. * @param outCount On return, contains the length of the returned array. * If outCount is NULL, the length is not returned. * * @return An array of pointe…
#import <objc/runtime.h> void setBeingRemoved(id __self, SEL _cmd) { NSLog(@"------------UNSELECT BY INVOKE."); } // Then these two lines: Class __class = NSClassFromString(@"WebActionDisablingCALayerDelegate"); class_addMethod(_…