反射

void reflect() {

    

    //类名的反射,字符串变成Class

    NSString *str = @"Person";

    Class class = NSClassFromString(str);

    Person *person = [[class alloc] init];

    NSLog(@"%@",person);  

    

    //Class变成字符串。

    NSString *name = NSStringFromClass([Person class]);

    NSLog(@"%@",name);

    

    //方法的反射。

    NSString *method = @"test";

    SEL selector = NSSelectorFromString(method);

    [person performSelector:selector];

    [person release];

    

    //将SEL转换为字符串

    NSString *selectorName = NSStringFromSelector(selector);

    NSLog(@"%@",selectorName);

}

posted @ 2014-12-30 17:32  unity_lan  阅读(117)  评论(0编辑  收藏  举报