我想追踪由 Objective-C 运行时发送到特定类的所有消息,比如 UITableView(或特定实例),以便我可以更好地理解某些类的内部工作。有没有办法做到这一点?
另一个用例是跟踪所有正在调用的委托方法(比如 UITableViewDelegate 方法),而无需声明它们并在每个委托方法中放置一个跟踪方法。
我想追踪由 Objective-C 运行时发送到特定类的所有消息,比如 UITableView(或特定实例),以便我可以更好地理解某些类的内部工作。有没有办法做到这一点?
另一个用例是跟踪所有正在调用的委托方法(比如 UITableViewDelegate 方法),而无需声明它们并在每个委托方法中放置一个跟踪方法。
这可能有点笨拙,但尝试将NSObjCMessageLoggingEnabled
环境变量设置为YES
. 这将显示发送到每个对象的所有消息,但您可以轻松地将其过滤为发送到特定类的消息。
这里有一些好的提示:http ://www.dribin.org/dave/blog/archives/2006/04/22/tracing_objc/
免责声明:我不确定环境变量是否适用于 iPhone。