2009-07-30 13 views
1

Ich möchte alle Nachrichten verfolgen, die von der Objective-C-Laufzeit an eine bestimmte Klasse gesendet werden, sagen wir UITableView (oder eine bestimmte Instanz), damit ich die inneren Abläufe einiger Klassen besser verstehen kann. Gibt es eine Möglichkeit, dies zu tun?Wie verfolgen Sie alle Nachrichten, die an eine bestimmte Klasse oder Instanz in Objective-C gesendet werden?

Ein weiterer Anwendungsfall ist es, alle Delegatmethoden zu verfolgen, die (sagen UITableViewDelegate Methoden) genannt werden, ohne sie und eine Spur Methode in jedem von ihnen setzen zu erklären zu haben.

Antwort

1

Dies ist möglicherweise etwas schwerfällig, aber versuchen Sie, die Umgebungsvariable NSObjCMessageLoggingEnabled auf YES zu setzen. Das zeigt alle die Nachrichten, die an alle Objekt gesendet werden, aber Sie können es problemlos auf die Nachrichten filtern, die an eine bestimmte Klasse gesendet werden. hier

Einige gute Tipps: http://www.dribin.org/dave/blog/archives/2006/04/22/tracing_objc/

Disclaimer: Ich bin mir nicht sicher, ob die Umgebungsvariable für iPhone funktioniert.