【问题标题】:How to trace out all messages sent to a particular class or instance in Objective-C?如何在 Objective-C 中追踪发送到特定类或实例的所有消息?
【发布时间】:2009-07-30 04:11:15
【问题描述】:

我想追踪由 Objective-C 运行时发送到特定类的所有消息,例如 UITableView(或特定实例),以便我可以更好地了解某些类的内部工作原理。有没有办法做到这一点?

另一个用例是跟踪所有被调用的委托方法(比如 UITableViewDelegate 方法),而无需声明它们并在每个委托方法中放置一个跟踪方法。

【问题讨论】:

    标签: iphone uikit introspection


    【解决方案1】:

    这可能有点笨拙,但请尝试将NSObjCMessageLoggingEnabled 环境变量设置为YES。这将显示所有发送到每个对象的消息,但您可以轻松地将其过滤到发送到特定类的消息。

    这里有一些好的提示:http://www.dribin.org/dave/blog/archives/2006/04/22/tracing_objc/

    免责声明:我不确定该环境变量是否适用于 iPhone。

    【讨论】:

      猜你喜欢
      • 2010-10-10
      • 1970-01-01
      • 1970-01-01
      • 2011-01-06
      • 1970-01-01
      • 2010-09-14
      • 2013-02-02
      • 2020-05-18
      • 2021-07-26
      相关资源
      最近更新 更多