2009-05-28 57 views
3

例如:我有这样的选择,这是我给另一种方法作为参数:如何以编程方式激发方法,这是由选择器描述的?

SEL mySelector = @selector(doSomething:); 

我现在想调用doSomething的方法,其方法内。

背景:我有一个执行一些核心动画操作的方法。它已经使用了didStopSelector,它在一切完成时调用特殊的内存管理方法。但是,我希望能够调用一个不需要特殊参数的简单方法,然后再做一些事情。但是这种方法不应该负责调用内存管理方法,所以我需要激发一个我以伊娃储存的选择器。

回答

8
[receivingObject performSelector:mySelector withObject:someParam]; 

有一个版本,而不withObject如果你选择不带任何参数。有关NSObject的信息,请参阅docs

+0

太棒了!非常感谢! – Thanks 2009-05-28 22:37:56

2

您可以拨打NSObjectperformSelector方法:

- (id)performSelector:(SEL)aSelector withObject:(id)object; 
- (id)performSelector:(SEL)aSelector withObject:(id)object1 withObject:(id)object2;