title: iOS UIViewController,why "self" become to "wild pointer" in viewDidUnload？
body: <p>my code snippet:</p>
  
  <pre><code>- (void)viewDidUnload{
      [super viewDidUnload];
      self.statusView = nil;
      self.tableView = nil;
      self.noDataView = nil;
  }
  </code></pre>
  
  <p>In a rare situation, my app crashed in line <code>self.noDataView = nil;</code>. When I debug by <code>po self</code>, it seemed that it's pointing something other than current controller. What is possible reason? </p>
  
  <p>PS:<code>self.tableView</code>'s <code>delegate</code> and <code>dataSource</code> is set to <code>self</code> in <code>init</code> method. Does that have any relation to this?</p>