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