iOS runtime方法详解之添加类
来源:互联网 发布:python pillow 安装 编辑:程序博客网 时间:2024/06/05 04:32
Adding Classes
方法声明:
Class objc_allocateClassPair ( Class superclass, const char *name, size_t extraBytes );
描述:创建一个新的类和元类;
superclass
新建类的父类,如果传nil则创建新的根类
name
新建类的名称
extraBytes
传0即可
方法声明:
void objc_disposeClassPair ( Class cls );
描述:销毁一个类及其相关的元类。当cls类或者它的子类的实例还存在,则不能调用这个方法;也就是先要销毁类和子类的所有实例后才能销毁类;
cls
将被销毁的类. 这个类必须是通过 objc_allocateClassPair
方法创建的类
方法声明:
void objc_registerClassPair ( Class cls );
描述:注册通过objc_allocateClassPair方法创建的类;
方法声明:
Class objc_duplicateClass ( Class original, const char *name, size_t extraBytes );
描述:键值观察者里面用到的,你不能调用次方法,因此忽略;
举例:
Class JunClass = objc_allocateClassPair([NSObject class], "JunDemo", 0); BOOL isOk = NO; isOk = class_addIvar(JunClass,"myVar", sizeof(id), log2(sizeof(id)), "@"); isOk == YES ? nil : NSLog(@"failed on class_addIvar"); objc_registerClassPair(JunClass); id myobj = [[JunClass alloc] init]; [myobj setValue:@"test" forKey:@"myVar"]; NSLog(@"myVar: %@", [myobj valueForKey:@"myVar"]); myobj = nil;//当JunClass类或者它的子类的实例还存在,则不能调用objc_disposeClassPair这个方法;因此这里要先销毁实例对象后才能销毁类; objc_disposeClassPair(JunClass);
0 0
- iOS runtime方法详解之添加类
- iOS runtime方法详解之对象关联
- iOS runtime方法详解之属性操作
- iOS runtime方法详解之消息
- ios runtime 动态向类添加方法
- iOS runtime ~ objc_setAssociatedObject方法详解
- iOS用runtime给一个类动态添加方法 ---class_addMethod
- iOS开发之runtime详解
- iOS开发之runtime详解
- ios RunTime之方法交换
- iOS Runtime详解之给Category添加成员变量(怎么设置关联对象)
- iOS runtime方法详解之类操作
- iOS开发------runtime之动态添加方法(动态决议,请求转发)
- iOS 开发 深入浅出Runtime运行时之方法动态处理(Dynamic Method Resolution)详解
- iOS runtime 通过class_addMethod在本类中给其他类添加方法
- iOS为类别添加属性的方法(RunTime)
- runtime给现有类动态添加方法
- Runtime-动态添加方法
- Ant+Junit产生java的单元测试报告
- Class文件内容及常量池
- 【转】常用的.net开源项目
- try-with-resources语句
- POJ3185 The Water Bowls【高斯消元法】
- iOS runtime方法详解之添加类
- Python+OpenCV学习(13)---meanshift目标跟踪
- libevent 编程 一
- Java动态绑定机制的内幕
- Yii Framework的获取与项目的新建
- VS2008调试Release程序--Dump文件方式
- 带有分割线的GridView九宫格的完美实现
- Vuforia SDK---- AR开发vuforiaARCamera动态修改最大识别量
- 缓存方案之Redis