OC 反射弧机制

2018-11-06  本文已影响20人  devmao

反射弧概念

程序可以访问、检测和修改它本身状态或行为的一种能力。

OC反射弧

OC的反射机制,即在动态运行状态下可以构造任意一个类或对象,知道这个类的所有属性和方法。

NSString * className = NSStringFromClass([self class]);//类反射成字符
Class class = NSClassFromString(@"ViewControlller");//字符反射成类
SEL sel = NSSelectorFromString(@"buttonEventTimeInterval");//方法名的字符形式反射为方法
NSString * selStr = NSStringFromSelector(sel);//方法反射为字符
unsigned int count;
    Ivar * ivars = class_copyIvarList([self class], &count);
    for (int i = 0; i < count; i ++) {
        Ivar ivar = ivars[i];
        NSLog(@"%@", [NSString stringWithFormat:@"%s", ivar_getName(ivar)]);
    }
    free(ivars);
unsigned int count;
    Method * methods = class_copyMethodList([self class], &count);
    for(int i = 0; i < count; i ++){
      SEL sel = method_getName(methods[i]);
        NSLog(@"%d----%s\n",i, sel_getName(sel));
    }
    free(methods);
上一篇 下一篇

猜你喜欢

热点阅读