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));

     

     

  • 相关阅读:
    无题
    无题
    Windows NT 和 VMS: 其余的故事 (The Rest of the Story)
    Lachesis Shield Released!
    最近几年来看到的最强的照片
    有关 Nintendo GameCube
    那些带给我欢乐的游戏
    习惯了 .#
    Rootkits
    我写的IDA插件发布了
  • 原文地址:https://www.cnblogs.com/huangzs/p/9639235.html
Copyright © 2011-2022 走看看