有时候我们需要通过类名来生成相应类的实例,这就用到反射机制。
首先通过类名生成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];
时间: 2024-10-02 05:57:44