Jac*_*kin 5 methods objective-c
我编写了一个调试宏,只要全局kDebug标志==,就会向传入的字符串打印传入的字符串YES.
每当调用任何方法时,我都需要打印出方法的名称及其类名.
当我辛苦地遍历每个方法并在字符串中写出类的名称和方法时,这很好.
是否有任何特殊的处理程序在调用Objective-C中的任何方法时被调用,如果是这样,有没有办法我可以以某种方式覆盖它来调用我的调试宏?
这样做的全部目的是让我不必遍历代码中的每个方法,并在调试宏调用中手动编写方法签名.
如果您正在寻找方法日志记录工具,而不是构建自己的方法,那么实际上是在Objective-C运行时中构建了一个.
您可能想要阅读Apple的Technote 2124的Objective-C部分: 技术说明TN2124:Mac OS X Debugging Magic
我还建议阅读Dave Dribin关于使用运行时工具跟踪消息的博客文章.你可以在这里找到:跟踪Objective-C消息 - Dave Dribin的博客.Dave注意到一个logObjCMessageSend被调用的函数,您可以使用它来自定义日志记录行为.使用起来有点棘手,但Dave提供了成功使用它所需的信息.