在我的应用程序中,我遇到了一个问题,我需要使用方法名称(NSString)来调用特定的类方法。
对于前: - 有一个名为test1的类 - 有方法hello。
@interface test1 : NSObject{
};
-hello:(id)vals;
@end
现在,我需要从这里调用/执行方法hello()。
假设(id)实例是类test1的实例。
-(void) RunFunction:(id)instance andFunctionName:(NSString*)fname andParamters:(id)params {
// need to do something like this - is it possible
// if yes how do i acheive this.
// sample java code starts.
Method m = instance.getClass().getDeclaredMethod(fname,params);
m.invoke(fname,params);
// sample java code ends.
}
谁可以帮助我。
答案 0 :(得分:4)
您将使用-[NSObject performSelector:withObject:]
。在这种情况下:
[instance performSelector:NSSelectorFromString(fname) withObject:params]