Stanford University, CS193p, Lecture 3,第45页
我也读过这个
The Objective-C Programming documentation, Selectors
仍然无法理解任何一个
有人可以更清楚地解释一下吗?如果它采用C / C ++方式会更好:)
答案 0 :(得分:3)
简而言之:它是一个方法名称。
在Objective-C中,方法调用的工作方式与C ++不同。 Objective-C中的Ever方法调用实际上是对C函数objc_msgSend
或其变体的调用。然后,此函数决定如何实际进行方法调用。该函数的第一个参数是对象指针(self
),第二个是选择器(_cmd
,方法名称)。其他参数是方法参数。现在objc_msgSend
查找需要为选择器调用哪个编译方法,然后跳转到它。因此选择器“选择”调用对象的哪个方法。