Как отследить все сообщения, отправленные определенному классу или экземпляру в Objective-C? - PullRequest
1 голос
/ 30 июля 2009

Я хотел бы отследить все сообщения, отправленные средой выполнения Objective C определенному классу, скажем, UITableView (или конкретному экземпляру), чтобы я мог лучше понять внутреннюю работу некоторых классов. Есть ли способ сделать это?

Другим вариантом использования является отслеживание всех вызываемых методов-делегатов (скажем, методов UITableViewDelegate) без их объявления и добавления метода трассировки в каждый из них.

1 Ответ

1 голос
/ 30 июля 2009

Это может быть немного сложным, но попробуйте установить для переменной среды NSObjCMessageLoggingEnabled значение YES. Это покажет все сообщения, отправленные каждому объекту, но вы можете легко отфильтровать его до сообщений, отправленных определенному классу.

Несколько хороших советов: http://www.dribin.org/dave/blog/archives/2006/04/22/tracing_objc/

Отказ от ответственности: я не уверен, что переменная окружения работает для iPhone.

...