What is "Selector"(什么是选择器)
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
到目前为止,我们一直使用如下的表达式,给对象发一个消息。
[myArray removeObjectIdenticalTo: anObject];
上面代码中,消息接收者(receiver)是”myArray”, 消息选择器(selector)是”removeObjectIdenticalTo:”(注意有冒号哦),消息参数(arguments)是” anObject”。
那么给对象发消息,还可以这么写:
SEL removalSelector = @selector(removeObjectIdenticalTo:);
[myArray performSelector: removalSelector withObject: anObject];
上面代码第一行,定义了一个SEL类型的变量”removalSelector”,然后使用@selector预编译指令将我们要发送的消息” removeObjectIdenticalTo:”赋值给SEL类型变量” removalSelector”(SEL类型就是@selector返回的类型)。代码第二行,将消息发送给”myArray”对象。
按照上面的代码,一个消息在运行时变成了一个变量,这就让我们实现更加灵活的功能成为可能了。
在线练习
{$ activeFileHint $}