-1

有什么方法可以列出所有调用的方法,就像一个接一个地调用一样?例如,现在我正在做同样的事情,我把 NSLog(@"MethodName"); 我每一个方法。我想通过 NSLog 中的自动方式来做到这一点。可能吗?

4

3 回答 3

1

如果你没有太多的方法,你可以使用

NSLog(@"%@" , NSStringFromSelector(_cmd));

记录他们的名字。这样您就不必每次都手动复制签名。

于 2013-01-17T15:42:49.157 回答
1

我想你想要:

printf("%s\n", __PRETTY_FUNCTION__ ) ;

哪个产生(例如)

-[AppDelegate 应用程序:didFinishLaunchingWithOptions:]

或者,您可以使用 dtrace。这个答案应该会有所帮助:https ://stackoverflow.com/a/3874726/210171 。

还要检查https://stackoverflow.com/a/4604249/210171(相同的链接问题)。似乎有一个环境变量NSObjCMessageLoggingEnabled可以设置...

于 2013-01-17T18:07:11.610 回答
1

创建一个属性'NSMutableArray * calledMethods;`

并在您的每种方法中使用

[self.calledMethods addObject:NSStringFromSelector(_cmd)];

并且每当你想打印它时 NSLog 它。

于 2013-01-17T17:45:24.097 回答