Iphone 在objective-c中,我可以访问方法中的调用类名/方法名吗?

Iphone 在objective-c中,我可以访问方法中的调用类名/方法名吗?,iphone,objective-c,ios,nslog,Iphone,Objective C,Ios,Nslog,在objective-c中,我可以访问方法中的调用类名/方法名吗 背景: 目前,我在一些日志记录方法中添加了以下行: NSLog(@"<%@:%@:%d>", NSStringFromClass([self class]), NSStringFromSelector(_cmd), __LINE__); NSLog(@“),NSStringFromClass([self class]),NSStringFromSelector(_cmd),uu LINE_uu); 最好还包括调用该

在objective-c中,我可以访问方法中的调用类名/方法名吗

背景:

目前,我在一些日志记录方法中添加了以下行:

NSLog(@"<%@:%@:%d>", NSStringFromClass([self class]), NSStringFromSelector(_cmd), __LINE__);
NSLog(@“),NSStringFromClass([self class]),NSStringFromSelector(_cmd),uu LINE_uu);
最好还包括调用该方法的代码的类名和方法名(位置)

这可能吗?这个的代码是什么


谢谢,没有实用的方法可以做到这一点(因此Cocoa中的所有方法都带有
发送方
参数)。甚至不能保证有这样一个东西——它可以从一个普通的、没有代码的函数调用,也可以从一个内联到其调用方法中的方法调用,或者我们可以从一个跳转到达那一行,或者……

没有实际的方法来实现这一点(因此Cocoa中的所有方法都带有
sender
参数)。甚至不能保证有这样的东西-它可以从一个普通的、没有代码的函数调用,也可以从一个内联到其调用方法中的方法调用,或者我们可以从一个跳转到达该行,或者……

如果您只是在调试可执行文件的上下文中执行此操作,则sider正在尝试GDB回溯功能:

不确定Objective-C最终会是什么样子,但是如果你回溯到链的后面足够长的时间,你应该会找到调用消息的东西

或者试着通读一下,看看它是否有帮助:


如果您只是在调试可执行文件的上下文中执行此操作,请考虑尝试GDB回溯函数:

不确定Objective-C最终会是什么样子,但是如果你回溯到链的后面足够长的时间,你应该会找到调用消息的东西

或者试着通读一下,看看它是否有帮助:

小谷歌可以走很长的路:)

我使用了PRETTY\u函数和DLog。

小谷歌可以走很长的路:)


我使用了PRETTY_函数和DLog。

发送方参数与缺乏推断发送方的能力无关。在最初的AppKit implwmtation中,调用堆栈帧的自身很容易获得。Sender完全是关于API的清晰性。@bbum-我想你是在暗示它在当前的实现中不再可用?这是正确的;除了调试框架(并非100%准确)之外,没有办法满足您的要求。发送者参数与缺乏推断发送者的能力无关。在最初的AppKit implwmtation中,调用堆栈帧的自身很容易获得。Sender完全是关于API的清晰性。@bbum-我想你是在暗示它在当前的实现中不再可用?这是正确的;除了不是100%准确的调试框架之外,没有任何方法可以满足您的要求?不是我刚才问的调用类/方法Ep,greg抱歉误解了这个问题。看起来像是从哪里调用代码的类/方法否?不是我所问的调用类/方法EP,greg抱歉误解了这个问题