iPhone: UITableView delegate is alive after viewController was released
<p>My ViewController1 pushes ViewController2</p>

<pre><code>ViewController2 *controller =
    [[ViewController2 alloc] init];
[self.navigationController pushViewController:controller
    animated:NO];
[controller release];
</code></pre>

<p>ViewController2 has UITableView ... in xib file I connected delegate with File's Owner. Also ViewController2 has Done button </p>

<pre><code>- (IBAction)doneButtonPressed {
     [self.navigationController popViewControllerAnimated:NO];
 }
</code></pre>

<p>The problem is that if to click table rows and done button at the same time, sometimes didSelectRowAtIndexPath: method calls after that ViewController2 was popped, and I have SIGABRT error and this thing in logger :</p>

<pre><code>[__NSCFSet tableView:didSelectRowAtIndexPath:]: unrecognized selector sent to instance 0x62579d0'
</code></pre>

<p>So how tableView:didSelectRowAtIndexPath can be called after I popped viewController2 ? It should be dead...</p>
