title: Crash on [[NSBundle mainBundle] loadNibnamed:owner:options:]
body: <p>I cannot figure this one out. I have a created a custom UITableViewCell in IB. As far as I can tell I have all the objects in the cell which are all UILabels wired up properly and everything builds without any errors. When I try to use the custom cell the app stops when I try to load the NIB. I've listed what I have in place for this below.</p>
  
  <p>Any help or hints or where to look to figure this one out would be appreciated.</p>
  
  <p>Thanks,</p>
  
  <p>John</p>
  
  <p>Here are my UITableViewCell interface and implementation methods. I am not sure I really needed to alloc init the labels. I tried it both ways...</p>
  
  <pre><code>//  ArrivalTimesCell.h
  
  #import &lt;UIKit/UIKit.h&gt;
  
  @interface ArrivalTimesCell : UITableViewCell {
      IBOutlet UILabel *cityArrivalTimeLabel;
      IBOutlet UILabel *optimumArrivalTimeLabel;
      IBOutlet UILabel *arrivalAvoidTimesLabel;
      IBOutlet UILabel *arrivalTimeNotSetLabel;
  
  }
  @property (nonatomic, retain)IBOutlet UILabel *cityArrivalTimeLabel;
  @property (nonatomic, retain)IBOutlet UILabel *optimumArrivalTimeLabel;
  @property (nonatomic, retain)IBOutlet UILabel *arrivalAvoidTimesLabel;
  @property (nonatomic, retain)IBOutlet UILabel *arrivalTimeNotSetLabel;
  
  @end
  
  //  ArrivalTimesCell.m
  
  #import "ArrivalTimesCell.h"
  
  @implementation ArrivalTimesCell
  @synthesize arrivalTimeNotSetLabel, arrivalAvoidTimesLabel, optimumArrivalTimeLabel, cityArrivalTimeLabel;
  
  - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
      self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
      if (self) {
          arrivalTimeNotSetLabel = [[UILabel alloc] init];
          arrivalAvoidTimesLabel = [[UILabel alloc] init];
          optimumArrivalTimeLabel = [[UILabel alloc] init];
          cityArrivalTimeLabel = [[UILabel alloc] init];
      }
      return self;
  }
  
  - (void)setSelected:(BOOL)selected animated:(BOOL)animated{
      [super setSelected:selected animated:animated];
  
  }
  
  - (void)dealloc{
      [super dealloc];
      [arrivalTimeNotSetLabel release];
      arrivalTimeNotSetLabel = nil;
      [arrivalAvoidTimesLabel release];
      arrivalAvoidTimesLabel = nil;
      [optimumArrivalTimeLabel release];
      optimumArrivalTimeLabel = nil;
      [cityArrivalTimeLabel release];
      cityArrivalTimeLabel = nil;
  }
  
  @end
  </code></pre>
  
  <p>Here is a portion of cellForRowAtIndexPath for the UITableView</p>
  
  <pre><code>//  TripEditViewController.m
  
  #import "ArrivalTimesCell.h"
  
  @implementation TripEditViewController
  
  - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  
      CellIdentifier = @"ArrivalTimesCell";
      ArrivalTimesCell *cell = (ArrivalTimesCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
  
      if(cell == nil){
          NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"ArrivalTimesCell" owner:nil options:nil];
  
          for (id currentObject in topLevelObjects) {
              if ([currentObject isKindOfClass:[UITableViewCell class]]) {
                  cell = (ArrivalTimesCell *) currentObject;
                  break;
               }
           }      
      }
  
  
      cell.cityArrivalTimeLabel.text = @"Whatever"
      cell.arrivalAvoidTimesLabel.text = @"Whatever";
      cell.optimumArrivalTimeLabel.text = @"Whatever";
      cell.arrivalTimeNotSetLabel.text = @"Whatever";
  
      return cell;  
  }
  </code></pre>
  
  <p>Program execution stops on the loadNibNamed line without any comment in the console. If I "step into" I get the following which I am not sure has anything to do with the cause of my crash but instead is the result of the nib not loading properly... </p>
  
  <blockquote>
    <p>2011-03-29 12:18:14.137 JetLogger[4565:207] <strong>* Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key cityArrivalTimeLabel.'
    *</strong> Call stack at first throw:
    (
        0   CoreFoundation                      0x0111a5a9 <strong>exceptionPreprocess + 185
        1   libobjc.A.dylib                     0x0126e313 objc_exception_throw + 44
        2   CoreFoundation                      0x0111a4e1 -[NSException raise] + 17
        3   Foundation                          0x000ca677 _NSSetUsingKeyValueSetter + 135
        4   Foundation                          0x000ca5e5 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 285
        5   UIKit                               0x0054e30c -[UIRuntimeOutletConnection connect] + 112
        6   CoreFoundation                      0x010908cf -[NSArray makeObjectsPerformSelector:] + 239
        7   UIKit                               0x0054cd23 -[UINib instantiateWithOwner:options:] + 1041
        8   UIKit                               0x0054eab7 -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 168
        9   JetLogger                           0x0004bf18 -[TripEditViewController tableView:cellForRowAtIndexPath:] + 699
        10  UIKit                               0x003c7b98 -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:withIndexPath:] + 634
        11  UIKit                               0x003bd4cc -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:] + 75
        12  UIKit                               0x003d28cc -[UITableView(_UITableViewPrivate) _updateVisibleCellsNow:] + 1561
        13  UIKit                               0x003ca90c -[UITableView layoutSubviews] + 242
        14  QuartzCore                          0x02051a5a -[CALayer layoutSublayers] + 181
        15  QuartzCore                          0x02053ddc CALayerLayoutIfNeeded + 220
        16  QuartzCore                          0x01ff90b4 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 310
        17  QuartzCore                          0x01ffa294 _ZN2CA11Transaction6commitEv + 292
        18  QuartzCore                          0x01ffa46d _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 99
        19  CoreFoundation                      0x010fb89b __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION</strong> + 27
        20  CoreFoundation                      0x010906e7 __CFRunLoopDoObservers + 295
        21  CoreFoundation                      0x010591d7 __CFRunLoopRun + 1575
        22  CoreFoundation                      0x01058840 CFRunLoopRunSpecific + 208
        23  CoreFoundation                      0x01058761 CFRunLoopRunInMode + 97
        24  GraphicsServices                    0x01a081c4 GSEventRunModal + 217
        25  GraphicsServices                    0x01a08289 GSEventRun + 115
        26  UIKit                               0x00360c93 UIApplicationMain + 1160
        27  JetLogger                           0x00001ba8 main + 102
        28  JetLogger                           0x00001b39 start + 53
    )
    terminate called after throwing an instance of 'NSException'</p>
  </blockquote>