[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”对象。
按照上面的代码,一个消息在运行时变成了一个变量,这就让我们实现更加灵活的功能成为可能了。
编程学习 Objective-C 高级消息机制 什么是选择器Selector 转载请保留此行.谢谢.