zoukankan      html  css  js  c++  java
  • 利用runtime特性来动态调用方法

    原链接:http://blog.csdn.net/chengyingzhilian/article/details/7872410

    完整代码:

    @implementation ClassForSelectors
    - (void) fooNoInputs {

    NSLog(@"Does nothing");

    }

    - (void) fooOneIput:(NSString*) first {

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

    }

    - (void) fooFirstInput:(NSString*) first secondInput:(NSString*) second {

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

    }

    - (NSArray *)abcWithAAA: (NSNumber *)number {

    int primaryKey = [number intValue];

    NSLog("%i", primaryKey);

    }

    - (void) performMethodsViaSelectors {

    [self performSelector:@selector(fooNoInputs)];

    [self performSelector:@selector(fooOneInput:) withObject:@"first"];

    [self performSelector:@selector(fooFirstInput:secondInput:) withObject:@"first"withObject:@"second"];

    }

    - (void) performDynamicMethodsViaSelectors {

    MethodForSelectors * mfs = [MethodForSelectors alloc];

    NSArray *Arrays = [NSArray arrayWithObjects:@"AAA"@"BBB"nil];

    for ( NSString *array in Arrays ){

    SEL customSelector = NSSelectorFromString([NSStringstringWithFormat:@"abcWith%@:", array]);

    mfs = [[MethodForSelectors allocperformSelector:customSelector withObject:0];

    }

    }

    @end

     
    @implementation MethodForSelectors

    - (void)abcWithAAA: (NSNumber *)number {

    NSLog("%i", number);

    }

    @end

  • 相关阅读:
    servlet中Cookie的编码问题
    servlet关于转发用法
    eclipse界面更改为黑色
    猜字符小游戏——可以设置等级
    uva 10655
    uva11029
    UVA11388 GCD LCM1 2 -1
    uva 11609
    poj 2436
    poj 2431
  • 原文地址:https://www.cnblogs.com/bu779783251/p/3447682.html
Copyright © 2011-2022 走看看