title: Why doesn't Apple allow subclassing of UINavigationController? And what are my alternatives to subclassing?
body: <p>I'm currently building a tabbed iPhone application where each tab's view controller is an instance of <code>UINavigationController</code>, and where every subcontroller of every one of the <code>UINavigationController</code> instances is an instance of <code>UITableViewController</code>. Ideally, I'd like to subclass <code>UINavigationController</code> so that the controller for each tab is a subclass of UINavigationController that (in addition to having all the standard <code>UINavigationController</code> functionality, obviously) serves as the datasource and the delegate for each of the table views associated with its subcontrollers. Trying to do this seems to break the basic <code>UINavigationController</code> functionality in the subclass.</p>
  
  <p>Seeing as Apple says in their iPhone documentation that one shouldn't subclass <code>UINavigationController</code>, and things seem to break when one does, I'm wondering how I should go about extending <code>UINavigationController's</code> functionality without subclassing, and generally speaking, how one should work around subclassing limitations when doing Cocoa development.</p>
  
  <p>Thanks!</p>