什么是“NSInvocation”?什么时候用?

时间:2010-03-25 13:08:00

标签: iphone

什么是NSInvocation?何时以及如何使用它?

1 个答案:

答案 0 :(得分:2)

NSInvocation是邮件发送的具体信息。换句话说,它是一个代表发送消息的对象。

假设您的类Foo有一个名为 - [Foo foo]的方法,以及这样的方法:

-(void)doSomething {
  NSInvocation *inv = [NSInvocation invocationWithMethodSignature: [self methodSignatureForSelector: @selector(foo)]];
  [inv setTarget: self];
  [inv invoke];
}

然后说[self foo]在功能上与说[self doSomething]相同。

你为什么要这样做? CubePuzzle示例应用提供了一个想法。另一个可能是安排将来发送的消息发送,例如由NSTimer触发。