准备数据:
#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);
}
}