Calling popViewControllerAnimated twice
<p>I've got a UINavigationController with a series of UIViewControllers on it.  Under some circumstances, I want to pop back exactly two levels.  I thought I could do it by calling popViewControllerAnimated twice in a row, but it turns out that the second time I call it, it's not popping anything and instead returning NULL.  Do I need to store a reference to my destination VC and call popToViewControllerAnimated instead?  I can do that, but it complicates my code since I'd have to pass the UIViewController* around as I'm pushing VCs onto the stack.</p>

<p>Here's the relevant snippet:</p>

<pre><code>UIViewController* one = [self.navigationController popViewControllerAnimated:YES];
if (...) {
    // pop twice if we were doing XYZ
    UIViewController *two = [self.navigationController popViewControllerAnimated:YES];
    // stored in "one" and "two" for debugging, "two" is always 0 here.
}
</code></pre>

<p>Am I doing something weird here?  I want to write idiomatic code, so if the "right" way is to call popToViewControllerAnimated, or something else entirely, I'll happily change it.</p>

<p>Thanks much!  -Mike</p>
