Objective-C的Runtime特性
2015-05-21 16:54
357 查看
[code]// 判断给定的Class是否是一个元类 NSObject *object = [[NSObject alloc] init]; Class class = [NSObject class]; BOOL yup = class_isMetaClass(object_getClass(class)); BOOL nope = class_isMetaClass(object_getClass(object)); // 获取类的父类 Class cls = class_getSuperclass([UIView class]);//打印结果: UIResponder //获取一个类的大小? size_t sss = class_getInstanceSize([UIView class]); unsigned int outCount = 0; // 获取一个类的属性 Ivar *ivars = class_copyIvarList([NSString class], &outCount); for (int i = 0; i < outCount; i++) { Ivar _var = *(ivars + i); NSLog(@"%s",ivar_getTypeEncoding(_var)); NSLog(@"%s",ivar_getName(_var)); } // 获取一个类的所有方法,返回一个数组 u_int count; Method *methods = class_copyMethodList([UIView class], &count); for (int i = 0; i < count ; i++) { SEL name = method_getName(methods[i]); NSString *strName = [NSString stringWithCString:sel_getName(name) encoding:NSUTF8StringEncoding]; NSLog(@">>%@<<",strName); }
相关文章推荐
- Objective-C特性:Runtime
- iOS开发——高级篇——Objective-C特性:Runtime
- (2)预期+思考【利用objective-c的runtime特性,结合FMDB实现轻量级的ORM】
- (转译)Objective-C的动态特性 runtime
- Objective-C特性:Runtime
- (3)实体和结构【利用objective-c的runtime特性,结合FMDB实现轻量级的ORM】
- (1)知识准备【利用objective-c的runtime特性,结合FMDB实现一个轻量级的ORM】
- Objective-C特性:Runtime
- Objective-C特性:Runtime
- Objective-C特性:Runtime
- (4)代码及测试【利用objective-c的runtime特性,结合FMDB实现轻量级的ORM】
- Objective-C特性:Runtime
- Objective-C runtime之消息转发机制(三)
- Objective_C的语言特性,以及委托模式delegate
- Objective-C Runtime 运行时之二:成员变量与属性
- Objective-C Runtime
- 刨根问底Objective-C Runtime(1)- Self & Super
- Objective-C 的 Runtime 与 Java 的 Runtime
- 深入理解Objective-C的Runtime机制
- Objective-C 2.0 Morden Runtime