zoukankan      html  css  js  c++  java
  • Objective-C反射机制

    oc反射机制有三个用途:

    1.获得Class

    Class LoginViewController = NSClassFromString(@"LoginViewController");

    NSString *str = NSStringFromClass([LoginViewController class]);

    2.检查继承关系

    // 判断对象是否为某个类的实例对象

    [person isMemberOfClass:Person.class]

        

    // 判断实例对象是都为某个类及其子类的实例

    [person isKindOfClass:[person class]]

    // 判断的实例对象是否实现了指定的协议

    [person conformsToProtocol:@protocol(UITableViewDelegate)]

    3.动态的调用方法

        SEL selector = NSSelectorFromString(@"SelectorFirstParameter:SecondParameter:");

        if([self respondsToSelector:selector])

        {

            [self performSelector:@selector(SelectorFirstParameter:SecondParameter:) withObject:@"firstParameter" withObject:@"secondParameter"];

        }

    
    
    

    - (void)SelectorFirstParameter:(NSString *)first SecondParameter:(NSString *)second{  

        NSLog(@"Logs %@ %@", first, second);

    }

    NSString *str = NSStringFromSelector(@selector(login));

     

     

  • 相关阅读:
    【译文】不是所有的 bug 都值得修复的
    11月第5周业务风控关注|重磅!瓜子二手车“遥遥领先”被罚天价1250万
    AutoCAD .NET二次开发(四)
    AutoCAD .NET二次开发(三)
    ArcGIS10.2下调试10.1的程序
    再遇1402,注册表权限问题
    ArcGIS Add-in——自动保存编辑
    只打开一个子窗体
    获取编辑器两种方法
    Adobe Acrobat Pro 11安装激活
  • 原文地址:https://www.cnblogs.com/huangzs/p/9639235.html
Copyright © 2011-2022 走看看