title: If I release, I get bad access, if I retain, I leak
body: <p>I have a view controller that i'm trying to push onto the navigation stack.  I create the controller with a local variable, set it up, then assign it to a property.  Then if I release the variable, I get EXE_BAD_ACCESS.  if I retain (or auto release) it leaks.</p>
  
  <pre><code>CustomTVC* controller = [[CustomTVC alloc]initWithStyle:UITableViewStyleGrouped];
  controller.managedObjectContext = self.managedObjectContext;
  
  self.tableViewControllerIvar = controller;
  
  [self.navigationController pushViewController:self.tableViewControllerIvar animated:YES];
   //[controller autorelease]; or [controller release]; or nothing
  </code></pre>
  
  <p>Here is exactly what happens if I release</p>
  
  <ol>
  <li>The above code is fired from pushing an add button in the nav bar.</li>
  <li>the view is pushed and everything is fine.  In the new view I can push more views in over and over with no problem...unless</li>
  <li>I go back to the root view of the navigation stack. (Which is where the above code is from).</li>
  <li>Now if I drill down again to the second view, then try to push another it crashes.</li>
  </ol>
  
  <p><strong>Edit:</strong> I have a feeling that something is going wrong when I push the third controller onto the stack. With the push, it's inserting a new object into the managed object context which is causing the fetchedresultscontroller to update the tableview. There may be a broken pointer in there somewhere. I'll play with it and post the results. –</p>
  
  <p><strong>Edit: 5/16</strong></p>
  
  <p>Getting this error message in the log</p>
  
  <blockquote>
    <p><em>*</em> -[CustomTVC controllerWillChangeContent:]: message sent to deallocated instance 0x187270</p>
  </blockquote>
  
  <p>This only happens after I pop the CustomTVC off the stack (go back to the navigation root view controller)  I can push and save all I want as long as I don't pop the CustomTVC.</p>