首页 > 代码库 > 通过字符串映射方法

通过字符串映射方法

有时候我们需要通过类名来生成相应类的实例,这就用到反射机制。

首先通过类名生成Class类实例 在通过该Class 实例来创建(alloc)对象;
具体方法会用到  NSClassFromString(类名) 一看就知道是C语言的东西;
 
NSString * tempClassName = @"yourClassName";
Class * tempClass =  NSClassFromString(tempClassName);
这里 在创建这个类实例之前 最好判断下 是否该对象存在;
 
if(!tempClass) return;
// 如果存在 就创建你相应的实例对象 比如上面我们这个类名 是UIViewController子类的类名
UIViewController * tempObj = [[tempClass alloc] init];
 
这样就得到了我们的想要的目的。

 

    NSString *method = @"testYingShe";

    SEL selector = NSSelectorFromString(method);

    [self performSelector:selector withObject:nil afterDelay:1];