在ObjC中调用方法

时间:2009-12-02 14:01:03

标签: objective-c function methods

我的应用程序中有8个方法,每个方法都调用一个方法 - (void)someFunction,

如何从 - (void)someFunction中知道这8个方法中哪一个称为它?

所有建议都表示赞赏。

由于

4 个答案:

答案 0 :(得分:3)

重新考虑你的设计。您的方法既不知道也不关心调用它们的代码。他们需要知道的任何事情都应该在他们收到的参数中。

答案 1 :(得分:2)

一种方法是在someFunction中添加一个int参数,调用方法可以用唯一值标识自己。

例如:

-(void)someFunction:(int)callerId { //switch or if stmt here based on callerId }

然后调用方法A将调用someFunction with callerId 1,方法B调用callerId 2等等。

答案 2 :(得分:1)

这看起来很简单 - 将一个参数传递给确定它是哪个方法的函数。

答案 3 :(得分:0)

我对Objective C不太熟悉,但似乎你想要一个堆栈跟踪。您可以通过抛出异常来获得此结果。 (有些语言可以通过其他方式获取堆栈跟踪,但就像我说的那样,我对Objective C不太熟悉。)Related question on StackOverflow