什么是选择器?

时间:2012-03-10 12:30:07

标签: objective-c

Stanford University, CS193p, Lecture 3,第45页

我也读过这个

The Objective-C Programming documentation, Selectors

仍然无法理解任何一个

有人可以更清楚地解释一下吗?如果它采用C / C ++方式会更好:)

1 个答案:

答案 0 :(得分:3)

简而言之:它是一个方法名称。

在Objective-C中,方法调用的工作方式与C ++不同。 Objective-C中的Ever方法调用实际上是对C函数objc_msgSend或其变体的调用。然后,此函数决定如何实际进行方法调用。该函数的第一个参数是对象指针(self),第二个是选择器(_cmd,方法名称)。其他参数是方法参数。现在objc_msgSend查找需要为选择器调用哪个编译方法,然后跳转到它。因此选择器“选择”调用对象的哪个方法。