title: How does [self.tableView reloadData] know what data to reload?
body: <p>It bugs me to death that my viewcontroller, which happens to be a tableViewController, knows without being told that its property that is an NSArray or an NSDictionary holds the data that is to be loaded into the table for display.</p>
  
  <p>Seems like I should explicitly say something like: </p>
  
  <pre><code>[self.tableView useData:self.MyArray];
  </code></pre>
  
  <p>I want to have more than one array inside my tableViewController and switch between one and the other programmatically.</p>
  
  <p>I notice that when a tableViewController makes use of a searchViewController, you can do this:</p>
  
  <pre><code>if (tableView == self.searchDisplayController.searchResultsTableView) {
  </code></pre>
  
  <p>I have even been able to do this:</p>
  
  <pre><code>self.tableView =  self.searchDisplayController.searchResultsTableView;
  [self.tableView reloadData];
  </code></pre>
  
  <p>But nowhere can I find how to set self.tableView back to the main datasource!</p>