我的应用程序中有8个方法,每个方法都调用一个方法 - (void)someFunction,
如何从 - (void)someFunction中知道这8个方法中哪一个称为它?
所有建议都表示赞赏。
由于
答案 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。