我一直在试图弄清楚为什么以及如何使用 performSelector。我确实遇到过Apple Docs。但是,我无法完全理解它。
有人能帮我解释一下吗?
我一直在试图弄清楚为什么以及如何使用 performSelector。我确实遇到过Apple Docs。但是,我无法完全理解它。
有人能帮我解释一下吗?
来自 Apple 的文档:
performSelector: 方法允许您发送直到运行时才确定的消息
更长的故事:
您可以在事先不知道对象是否实现此特定方法的情况下向对象发送消息。例如:
NSString *astring = @"test";
[test dance]; // Doesn't compile
[test performSelector:@selector(dance)]; // Doesn't make sense but compiles
AFAIK,使用选择器是一种声明方式,callback method
就像我们在 Java、C# 上所做的那样……假设您开发了库 A,它执行异步计算并在完成时返回结果。在开发时,您不知道计算完成时应该调用什么回调方法。因此,您可以使库获取一个selector
作为输入参数,并performSelector
稍后使用它来调用回调方法。
希望这可以帮助。