RunTime应用--获取类中所有的私有变量,属性,和方法

来源:互联网 发布:饭店点菜软件 编辑:程序博客网 时间:2024/05/16 08:02

准备数据:

#import "model.h"@interface model()@property (copy, nonatomic) NSString *name;@property (strong, nonatomic) NSMutableDictionary *dic;@property (assign) NSInteger integer;@property (assign) BOOL bol;-(void) createObject;-(void) createObject:(NSDictionary *)dic;@end@implementation model@end
调用:

#pragma mark --获取私有方法和属性-(void) getIvarsNameAndType{    unsigned int count = 0;    Ivar *ivars = class_copyIvarList([model class], &count);    for(int i=0;i<count;i++){        NSString *name = [NSString stringWithUTF8String:ivar_getName(ivars[i])];        NSString *type = [NSString stringWithUTF8String:ivar_getTypeEncoding(ivars[i])];        NSLog(@"变量名:%@\n属性:%@",name,type);    }}#pragma mark --获取私有方法-(void)getMethods{    unsigned int count = 0;    Method *mets = class_copyMethodList([model class], &count);    for(int i=0;i<count;i++){        NSString *str = [NSString stringWithCString:method_getTypeEncoding(mets[i]) encoding:NSUTF8StringEncoding];        SEL sel = method_getName(mets[i]);        NSString *name = [NSString stringWithCString:sel_getName(sel) encoding:NSUTF8StringEncoding];        NSLog(@"方法名:%@\n属性:%@",name,str);    }}



阅读全文
0 0
原创粉丝点击