美文网首页
OC 反射弧机制

OC 反射弧机制

作者: devmao | 来源:发表于2018-11-06 14:39 被阅读20次

    反射弧概念

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

    OC反射弧

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

    • NSStringFromClass()
    NSString * className = NSStringFromClass([self class]);//类反射成字符
    
    • NSClassFromString()
    Class class = NSClassFromString(@"ViewControlller");//字符反射成类
    
    • NSSelectorFromString()
    SEL sel = NSSelectorFromString(@"buttonEventTimeInterval");//方法名的字符形式反射为方法
    
    • NSStringFromSelector()
    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);
    

    相关文章

      网友评论

          本文标题:OC 反射弧机制

          本文链接:https://www.haomeiwen.com/subject/fakuxqtx.html