我有两个字符串:
NSString * className = "MyClass";
NSString * methodName = "doSomething";
Run Code Online (Sandbox Code Playgroud)
MyClass类定义和静态方法doSomething也存在.
如何从两个字符串动态触发[MyClass doSomething]?
Dru*_*erB 22
Class class = NSClassFromString(@"MyClass");
SEL selector = NSSelectorFromString(@"doSomething");
[class performSelector:selector];
Run Code Online (Sandbox Code Playgroud)
这会给你一个警告"PerformSelector可能导致泄漏,因为它的选择器是未知的",你可以忽略这一点(详见这个问题):
Class class = NSClassFromString(@"MyClass");
SEL selector = NSSelectorFromString(@"doSomething");
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
[class performSelector:selector];
#pragma clang diagnostic pop
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6317 次 |
| 最近记录: |