Obtaining Selectors(获取选择器)
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
除了在编译阶段使用@selector预编译指令来得到选择器的值,还有一些其它的方法。
1.在一个方法的实现代码中,你永远可以通过变量”_cmd”
来获取到当前方法的选择器(selector)。 代码如下:
- (void) removeObjectIdenticalTo: (id)anObject
{
SEL mySelector = _cmd;
// ...
}
2.在程序的任意位置,你都可以使用NSSelectorFromString()
函数从一个字符串中得到一个selector值,代码如下:
SEL mySelector = NSSelectorFromString(@"removeObjectIdenticalTo:");
当然实际开发中,你不会像上面的代码那样从一个固定的字符串中得到一个selector,上面的语句只是示例,告诉你可以通过字符串得到一个selector。现实中你会从一个字符串对象中得到selector,而字符串对象是可以动态变化的,这才是Objective-C中灵活性的体现。
如果你想知道一个SEL类型的变量的内容是不是和另外一个相等,你可以使用函数sel_eq()
。
在线练习
{$ activeFileHint $}