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

     

     

  • 相关阅读:
    POJ
    UPC-5843: 摘樱桃(最优状态递推)
    BZOJ-1088 [SCOI2005]扫雷Mine(递推+思维)
    HDU-3065 病毒侵袭持续中(AC自动机)
    BZOJ-4236 JOIOJI (map查找+思维)
    HDU-2896 病毒侵袭(AC自动机)
    Hrbust-2060 截取方案数(KMP)
    UVALive 4490 压缩DP
    UVALive 5881
    UVALive 4168
  • 原文地址:https://www.cnblogs.com/huangzs/p/9639235.html
Copyright © 2011-2022 走看看