title: Random "Could not load NIB in bundle" in UITableView
body: <p>I have a MonoTouch application that seems to throw an exception randomly on the device:</p>
  
  <pre><code>Jan 19 11:54:31 unknown UIKitApplication:com.mycompany.myapp[0xbab7][552] 
  &lt;Notice&gt;: MonoTouch.Foundation.MonoTouchException: Objective-C exception thrown.  
  Name: NSInternalInconsistencyException Reason: 
      Could not load NIB in bundle: 'NSBundle &lt;/var/mobile/Applications/my-guid/MyApp.app&gt; (loaded)' with name 'MyTableCellController' Jan 19 11:54:31 unknown UIKitApplication:com.mycompany.myapp[0xbab7][552] &lt;Notice&gt;:   
  at MonoTouch.UIKit.UIViewController.get_View () [0x00000] in &lt;filename unknown&gt;:0  Jan 19 11:54:31 unknown UIKitApplication:com.mycompany.myapp[0xbab7][552] &lt;Notice&gt;:  
  at MyDataSource.GetCell (MonoTouch.UIKit.UITableView tableView, MonoTouch.Foundation.NSIndexPath indexPath) [0x00000] in &lt;filename unknown&gt;:0  Jan 19 11:54:31 unknown UIKitApplication:com.mycompany.myapp[0xbab7][552] &lt;Notice&gt;:   
  at MonoTouch.UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x00000] in &lt;filename unknown&gt;:0  Jan 19 11:54:31 unknown UIKitApplication:com.mycompany.myapp[0xbab7][552] &lt;Notice&gt;:   
  at MyApp.Application.Main (System.String[] args) [0x00000] in &lt;filename unknown&gt;:0 
  </code></pre>
  
  <p>What I have is a UIViewController with a XIB file laying out the UI.  The XIB sets up a custom UITableViewCell with other controls and outlets on it, etc.</p>
  
  <p>Here is an example of the GetCell method throwing the error:</p>
  
  <pre><code>        public override UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath)
          {
              MyCellController controller = null;
              var cell = tableView.DequeueReusableCell (CellName);
              if (cell == null)
              {
                  controller = new MyCellController();
                  cell = (UITableViewCell)controller.View;
                  cell.Tag = _count++;
                  _controllers[cell.Tag] = controller;
              }
              else
              {
                  controller = _controllers[cell.Tag];    
              }
              controller.LoadStuff(_myArrayOfStuff[indexPath.Row]);   
              return cell;
          }
  </code></pre>
  
  <p>The error occurs on the line <code>cell = (UITableViewCell)controller.View</code>, and I'm assuming the error is something to do with the XIB not being loaded yet.</p>
  
  <p>I've only gotten the crash to happen randomly on the device, and only when scrolling around quickly.</p>
  
  <p>I've heard that XIBs are sometimes loaded asynchronously, my constructor for my UIViewController just looks like this:</p>
  
  <pre><code>public MyTableCellController () : base ("MyTableCellController", null)
  {
  }
  </code></pre>
  
  <p>Is there something I'm doing wrong here?  It might be hard to make a repro for this case.</p>