<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><div>Owen,<br></div>
<div> </div>
<div>I've written code like that myself, when I need some particular information.<br></div>
<div> </div>
<div>But it turns out there's already code like that built in.<br></div>
<div> </div>
<div>Which maybe leads to another tip:<br></div>
<div> </div>
<div>Read whichever is appropriate of the tech notes<br></div>
<div> </div>
<div>Technical Note TN2239 -- <span style="line-height: 1.25;">iOS Debugging Magic</span></div>
<div> </div>
<div>Technical Note TN2124 -- <span style="line-height: 1.25;">Mac OS X Debugging Magic</span><br></div>
<div> </div>
<div><span style="line-height: 1.25;"></span>(See the methods "recursiveDescription" in the first case, and "_subtreeDescription" in the second. They are not documented elsewhere.)<br></div>
<div> </div>
<div>John</div>
<div> </div>
<div> </div>
<blockquote><div><br>Here's a piece of code I use a lot, particularly when I'm wrestling with UI annoyances that I can't seem to get quite straight:</div>
<div> </div>
<div><div>// useful debugging method - send it a view and it will log all subviews<br></div>
<div>// can be called from the debugger<br></div>
<div>- (<span class="colour" style="color:rgb(187, 44, 162)">void</span>) viewAllSubviews:(<span class="colour" style="color:rgb(112, 61, 170)">UIView</span> *) topView Indent:(<span class="colour" style="color:rgb(112, 61, 170)">NSString</span> *) indent  {<br></div>
<div><span class="colour" style="color:rgb(187, 44, 162)">for</span> (<span class="colour" style="color:rgb(112, 61, 170)">UIView</span> * theView <span class="colour" style="color:rgb(187, 44, 162)">in</span> [topView <span class="colour" style="color:rgb(61, 29, 129)">subviews</span>]){<br></div>
<div><span class="colour" style="color:rgb(120, 73, 42)">NSLog</span>(<span class="colour" style="color:rgb(209, 47, 27)">@"%@%@"</span>, indent, theView);<br></div>
<div><span class="colour" style="color:rgb(187, 44, 162)">if</span> ([theView <span class="colour" style="color:rgb(61, 29, 129)">subviews</span>] != <span class="colour" style="color:rgb(187, 44, 162)">nil</span>)<br></div>
<div>[<span class="colour" style="color:rgb(187, 44, 162)">self</span><span class="colour" style="color:rgb(49, 89, 93)">viewAllSubviews</span>:theView <span class="colour" style="color:rgb(49, 89, 93)">Indent</span>: [<span class="colour" style="color:rgb(112, 61, 170)">NSString</span><span class="colour" style="color:rgb(61, 29, 129)">stringWithFormat</span>:<span class="colour" style="color:rgb(209, 47, 27)">@"%@ "</span>,indent]];<br></div>
<div>}<br></div>
<div>}<br></div>
</div>
<div> </div>
</blockquote><div> </div>
</body>
</html>