Objective-C ランタイムから特定のクラス、たとえば UITableView (または特定のインスタンス) に送信されたすべてのメッセージを追跡して、一部のクラスの内部動作をよりよく理解できるようにしたいと考えています。これを行う方法はありますか?
もう 1 つの使用例は、呼び出されているすべてのデリゲート メソッド (UITableViewDelegate メソッドなど) を宣言せずにトレースし、それぞれにトレース メソッドを配置することです。
Objective-C ランタイムから特定のクラス、たとえば UITableView (または特定のインスタンス) に送信されたすべてのメッセージを追跡して、一部のクラスの内部動作をよりよく理解できるようにしたいと考えています。これを行う方法はありますか?
もう 1 つの使用例は、呼び出されているすべてのデリゲート メソッド (UITableViewDelegate メソッドなど) を宣言せずにトレースし、それぞれにトレース メソッドを配置することです。
少し面倒かもしれませんが、NSObjCMessageLoggingEnabled
環境変数を に設定してみてくださいYES
。これにより、すべてのオブジェクトに送信されたすべてのメッセージが表示されますが、特定のクラスに送信されたメッセージに簡単にフィルターをかけることができます。
ここでいくつかの良いヒント: http://www.dribin.org/dave/blog/archives/2006/04/22/tracing_objc/
免責事項: 環境変数が iPhone で機能するかどうかはわかりません。