码迷,mamicode.com
首页 > 其他好文 > 详细

runtime------动态添加方法

时间:2015-12-10 23:22:43      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:

#import "ViewController.h" #import "Person.h" #import @interface ViewController () @end @implementation ViewController /* 注意: 1.如果一个类中方法仅仅是声明,并不会加载到内存,只有实现的方法才会加载到内存中 */ void test(int *count) { *count = 2; } - (void)viewDidLoad { [super viewDidLoad]; [self getMethodList]; } // 获取类中的方法 - (void)getMethodList { int a = 0; int b = 10; int c = 2; int arr[] = {a,b,c}; int *p; p = arr; NSLog(@"%d %d",arr[1],p[1]); // 获取Person类中所有方法 // 参数一:获取哪个类的方法列表 // 参数二:方法列表总数 unsigned int count = 0; // 调用完这个方法,count就有值,记录方法列表总数 // 获取仅仅是当前类 // 返回指向方法列表数组 Method *methodList = class_copyMethodList([Person class], &count); // OBJC_EXPORT Method *class_copyMethodList(Class cls, unsigned int *outCount) // 2 0 1 for (int i = 0; i < count; i++) { // 取出对应的方法 Method method = methodList[i]; //Method 方法,条理 // 获取方法名(方法编号) SEL methodSel = method_getName(method); NSLog(@"%@",NSStringFromSelector(methodSel)); } } @end #import @interface Person : NSObject - (void)eat; - (void)run; //- (void)study; @end #import "Person.h" @implementation Person - (void)eat { NSLog(@"吃东西"); } - (void)run { } @end

runtime------动态添加方法

标签:

原文地址:http://www.cnblogs.com/HJXuu/p/5037379.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!