在obj-c中,如何调用
[myClass myString];
哪里
myString = @"myMethod";
这应该相当于
[myClass myMethod];
不确定这种元语言操作是否可行。
[myClass performSelector: NSSelectorFromString(myString)];
文档:
NSString
转换为选择器(类型 SEL
)[myClass class]
返回元类,在元类上调用类方法。例如
[NSString someClassMethod];
NSString *instanceOfString = @"some string instance";
[[instanceOfString class] someClassMethod];
编辑:我误读了这个问题。使用
NSSelectorFromString
从 NSString 获取 SEL。这在 Apple 的 Foundation Functions Reference 中有记录,您还可以看到 NSClassFromString
、NSStringFromClass
、NSStringFromSelector
、NSStringFromProtocol
和 NSProtocolFromString
等。
您可以使用
NSSelectorFromString
,类似于以下内容的内容应该可以工作:
SEL selector = NSSelectorFromString(@"myMethod");
[myClass performSelector:selector withObject:nil];
SEL mySelector = NSSelectorFromString(@"myMethod");
[myClass performSelector:mySelector];