title: Custom UITableViewCell gives me: this class is not key value coding-compliant
body: <p><strong>First of all,</strong> this discussion did not solve my problem.</p>
  
  <p><a href="https://stackoverflow.com/questions/9713651/custom-uitableviewcell-subclass-this-class-is-not-a-key-value-coding-compliant">Custom UITableViewCell subclass: This class is not a key value coding-compliant</a></p>
  
  <p><strong>Setup:</strong></p>
  
  <p>I have an array of Person objects in <code>MainViewController</code>.
  Want to show the objects in an <code>UITableView</code> in <code>AllContactsViewController</code>.</p>
  
  <p><strong>Problem:</strong></p>
  
  <p>All works as expected when use the default <code>UITableViewCell</code>.
  When I use my custom <code>TableCell</code> I get an error pointing to 
  that this class is not key value coding-compliant.</p>
  
  <p>This error occurs right after I connect ANY of my three <code>outlets</code> in <code>IB</code> with my <code>TableCell</code> Class.</p>
  
  <p><strong>Note:</strong></p>
  
  <p><code>TableCell</code> has three properties: a <code>name</code> &amp; <code>email</code> label + <code>imageView</code>.</p>
  
  <p>Hope you can help.</p>
  
  <p><strong>TableCell.h</strong></p>
  
  <pre><code>#import &lt;UIKit/UIKit.h&gt;
  
  @interface TableCell : UITableViewCell
  
  @property (weak, nonatomic) IBOutlet UILabel *nameLabel;
  @property (weak, nonatomic) IBOutlet UILabel *emailLabel;
  @property (weak, nonatomic) IBOutlet UIImageView *imageView;
  
  @end
  </code></pre>
  
  <p><strong>TableCell.m</strong></p>
  
  <pre><code>#import "TableCell.h"
  
  @implementation TableCell
  @synthesize nameLabel, imageView, emailLabel;
  </code></pre>
  
  <p><strong>AllContactsViewController.m</strong></p>
  
  <pre><code>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  {
      static NSString *cellIdent = @"TableCell";
  
      TableCell *cell = (TableCell *)[tableView dequeueReusableCellWithIdentifier:cellIdent];
  
      if (cell == nil) {
  
          NSArray *array = [[NSBundle mainBundle]loadNibNamed:@"TableCell" owner:self options:nil];
          cell = [array objectAtIndex:0];
      }
  
      NSString *firstAndLastnameString =
      [NSString stringWithFormat:@"%@ %@",
       [(NewContact *)[self.allContactsArray objectAtIndex:[indexPath row]] firstName],
       [(NewContact *)[self.allContactsArray objectAtIndex:[indexPath row]] lastName]];
  
      cell.nameLabel.text = firstAndLastnameString;
  
      cell.emailLabel.text =
      [(NewContact *)[self.allContactsArray objectAtIndex:[indexPath row]] eMail];
  
      cell.imageView.image =
      [(NewContact *)[self.allContactsArray objectAtIndex:[indexPath row]] contactPicture];
  
      return cell;
  }
  </code></pre>
  
  <p>UPDATE:</p>
  
  <p>Maybe a screenshot will help from IB.</p>
  
  <p><img src="https://i.stack.imgur.com/oN7ve.png" alt="enter image description here"></p>
  
  <p>Added full AllContactsViewController.h</p>
  
  <pre><code>#import &lt;UIKit/UIKit.h&gt;
  #import "VCDelegate.h"
  #import "TableCell.h"
  
  @interface AllContactsViewController : UIViewController &lt;UITableViewDataSource, UITableViewDelegate&gt;
  
  @property (weak, nonatomic) id &lt;VCDelegate&gt;delegate;
  
  @property (weak, nonatomic) IBOutlet UITableView *allContactsTableView;
  
  @property (strong, nonatomic) NSMutableArray *allContactsArray;
  
  @property (assign) int currentArrayIndexNumber;
  
  - (IBAction)closeBtnTapped:(id)sender;
  
  @end
  </code></pre>