要将字符串转换为选择器,请使用NSSelectorFromString
. 相反,使用NSStringFromSelector
.
转换选择器:
SEL selector = NSSelectorFromString(methodSelectorString);
调用方法:
[myObject performSelector:selector withObject:self afterDelay:0.0];
来自基金会参考;
NSSelectorFromString
返回具有给定名称的选择器。
SEL NSSelectorFromString (
NSString *aSelectorName
);
参数
aSelectorName
代表选择器名称的任意长度、任意字符的字符串。返回值 aSelectorName 命名的选择器。如果 aSelectorName 为 nil,或者无法转换为 UTF-8(这应该只是由于内存不足),则返回 (SEL)0。
讨论 为了创建一个选择器,NSSelectorFromString 将 aSelectorName 的 UTF-8 编码字符表示传递给 sel_registerName 并返回该函数返回的值。因此,请注意,如果选择器不存在,它会被注册并返回新注册的选择器。
回想一下,冒号(“:”)是方法名的一部分;setHeight 与 setHeight: 不同。有关方法名称的更多信息,请参阅《Objective-C 编程语言》中的“对象、类和消息传递”。
NSStringFromSelector
返回给定选择器的字符串表示形式。
NSString *NSStringFromSelector (
SEL aSelector
);