🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
直接看代码吧 Dog.h ~~~ #import <Foundation/Foundation.h> @interface Dog : NSObject @property(nonatomic, strong) NSString * dogName; @property(nonatomic, assign) NSInteger dogAge; @end ~~~ Dog.m ~~~ #import "Dog.h" @interface Dog () @property(nonatomic, strong) NSString * dogSex; @end @implementation Dog - (instancetype)init { self = [super init]; if (self) { self.dogName = @"dahuang"; self.dogAge = 2; } return self; } - (void) printDogName { NSLog(@"dogName"); } @end ~~~ 测试代码: ~~~ #import "ViewController.h" #import <objc/runtime.h> #import <objc/message.h> #import "Person.h" #import "Dog.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. Dog * dog = [[Dog alloc] init]; unsigned int outCount = 0; unsigned int outCountMethod = 0; Ivar * ivars = class_copyIvarList([dog class], &outCount); Method * methods = class_copyMethodList([dog class], &outCountMethod); for (int i = 0; i<outCount; i++) { // 取出i位置对应的成员变量 Ivar ivar = ivars[i]; // 查看成员变量 const char *name = ivar_getName(ivar); NSLog(@"%s", name); } for (int j = 0; j < outCountMethod; j++) { Method method = methods[j]; SEL methodSEL = method_getName(method); const char * selName = sel_getName(methodSEL); if (methodSEL) { NSLog(@"sel------%s", selName); } } } ~~~ 输出: ~~~ 2015-11-02 12:18:07.851 02-runtime[1970:51391] _dogName 2015-11-02 12:18:07.852 02-runtime[1970:51391] _dogAge 2015-11-02 12:18:07.853 02-runtime[1970:51391] _dogSex 2015-11-02 12:18:07.853 02-runtime[1970:51391] sel------setDogName: 2015-11-02 12:18:07.854 02-runtime[1970:51391] sel------setDogAge: 2015-11-02 12:18:07.855 02-runtime[1970:51391] sel------printDogName 2015-11-02 12:18:07.855 02-runtime[1970:51391] sel------dogName 2015-11-02 12:18:07.855 02-runtime[1970:51391] sel------dogAge 2015-11-02 12:18:07.856 02-runtime[1970:51391] sel------dogSex 2015-11-02 12:18:07.856 02-runtime[1970:51391] sel------setDogSex: 2015-11-02 12:18:07.856 02-runtime[1970:51391] sel------.cxx_destruct 2015-11-02 12:18:07.857 02-runtime[1970:51391] sel------init ~~~