如何以编程方式触发方法,由选择器描述?

时间:2009-05-28 22:31:09

标签: objective-c

示例:我有一个这样的选择器,我将其作为参数提供给另一个方法:

SEL mySelector = @selector(doSomething:);

我想在该方法中调用doSomething方法。

背景:我有一个执行一些核心动画操作的方法。它已经使用了didStopSelector,它在一切都完成后调用了一种特殊的内存管理方法。但是,我希望能够调用一个不带特殊参数的简单方法,然后做一些事情。但是该方法不应该负责调用内存管理方法,因此我需要触发一个存储在ivar中的选择器,例如。

2 个答案:

答案 0 :(得分:8)

[receivingObject performSelector:mySelector withObject:someParam];

如果您的选择器不带任何参数,则会有一个没有withObject的版本。有关NSObject的信息,请参阅docs

答案 1 :(得分:2)

您可以调用NSObject的{​​{1}}方法:

performSelector