2009-07-30 1 views
1

Objective-Cランタイムによって送信されたすべてのメッセージを特定のクラス、たとえばUITableView(または特定のインスタンス)にトレースしたいので、一部のクラスの内部動作をよりよく理解することができます。これを行う方法はありますか?Objective-Cで特定のクラスまたはインスタンスに送信されたすべてのメッセージをトレースする方法はありますか?

もう1つのユースケースは、宣言する必要なく、呼び出されているすべてのデリゲートメソッド(たとえばUITableViewDelegateメソッド)をトレースし、それぞれにトレースメソッドを配置することです。

答えて

1

これは少し重いかもしれませんが、NSObjCMessageLoggingEnabled環境変数をYESに設定してみてください。それはすべてのメッセージをオブジェクトごとに送信しますが、特定のクラスに送信されたメッセージに簡単にフィルタすることができます。ここ

いくつかの良いヒント:http://www.dribin.org/dave/blog/archives/2006/04/22/tracing_objc/

免責事項:私は環​​境変数は、iPhoneのために働くかはわかりません。