objective-c - 如何在运行时使用 Objective-C 动态创建选择器?

我知道如何在编译时使用 @selector(MyMethodName:) 创建一个 SEL 但我想做的是从 动态创建一个选择器NSString。这甚至可能吗?

我能做什么:

SEL selector = @selector(doWork:);
[myobj respondsToSelector:selector];

我想做什么:(伪代码,这显然行不通)

SEL selector = selectorFromString(@"doWork");
[myobj respondsToSelector:selector];

我一直在搜索 Apple API 文档,但没有找到不依赖编译时 @selector(myTarget:) 语法的方法。

最佳答案

我不是 Objective-C 程序员,只是一个同情者,但也许 NSSelectorFromString是你需要的。 Runtime Reference 中明确提及您可以使用它将字符串转换为选择器。

https://stackoverflow.com/questions/112643/

相关文章:

java - Java接口(interface)和Objective-C协议(protocol)的区

ios - 无法在模拟器中运行应用程序 : An error was encountered whi

objective-c - 有没有办法强制在 NSArray、NSMutableArray 等上输入

iphone - Xcode 4.2 首选项 "Support Wirelessly Connect

objective-c - 将 writeToFile :atomically: overwrite

objective-c - 是什么让钥匙串(keychain)项目独一无二(在 iOS 中)?

iphone - Objective-C 将十六进制字符串解析为整数

ios - UICollectionView 的 cellForItemAtIndexPath 没有

objective-c - 如何摆脱 Xcode 中的 "unused variable"警告?

iphone - iPhone 上的 JSON 和核心数据