Custom table cell view with xib exception exception on ios 8

I am having a problem creating my own view of a table cell.

CustomCell.h

#import <UIKit/UIKit.h>

@interface CustomCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@property (weak, nonatomic) IBOutlet UILabel *date;
@property (weak, nonatomic) IBOutlet UILabel *title;
@property (weak, nonatomic) IBOutlet UILabel *content;

@end

      

CustomCell.m

#import "CustomCell.h"

@implementation CustomCell
@synthesize title, imageView, content, date;
- (void)awakeFromNib {
    // Initialization code
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}

@end

      

TableViewController

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *simpleTableIdentifier = @"CustomCell";
    CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
    if (cell == nil)
    {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:simpleTableIdentifier owner:self options:nil];
        cell = [nib objectAtIndex:0];
    }

    cell.title.text = [titles objectAtIndex:indexPath.row];
    cell.imageView.image = [UIImage imageNamed:[images objectAtIndex:indexPath.row]];
    cell.content.text = [shortTexts objectAtIndex:indexPath.row];
    cell.date.text = [dates objectAtIndex:indexPath.row];
    return cell;
}

      

and the thrown exception

2014-10-14 19:06:59.290 pl.wroclaw.2017[7450:2962005] -[CustomCell _needsSetup]: unrecognized selector sent to instance 0x127d15bc0
2014-10-14 19:06:59.291 pl.wroclaw.2017[7450:2962005] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CustomCell _needsSetup]: unrecognized selector sent to instance 0x127d15bc0'
*** First throw call stack:
(0x1871a2084 0x1977d80e4 0x1871a9094 0x1871a5e48 0x1870ab08c 0x18ba63c08 0x18bc1a3bc 0x18bc0efc4 0x18ba04c60 0x18b921874 0x18b279d58 0x18b274944 0x18b2747e8 0x18b273fe8 0x18b273d6c 0x18bbae7f0 0x18bbaf69c 0x18bbad820 0x18f3a5640 0x18715a360 0x187159468 0x187157668 0x187085664 0x18b98f500 0x18b98a4f8 0x1000b65a4 0x197e46a08)
libc++abi.dylib: terminating with uncaught exception of type NSException

      

I tried everything from removing the xib and adding it again. I double checked my method with my previous project and it just works. Now with my new project this is not the case and I cannot find any solution. I tried to find some information about this "_needsSetup" but I cannot find it.

Thank you for your help.

+3


source to share


2 answers


I had the same error, and it was because I forgot to return the cell in this method:



- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

      

+10


source


I don't know if this helps or not, but the recommended way to use an xib based cell is to register the nib, not load the nib into cellForRowAtIndexPath :. So in viewDidLoad, put,

[self.tableView registerNib:[UINib nibWithNibName:<"your nib name here"> bundle:nil] forCellReuseIdentifier:@"CustomCell"];

      



Remove the if (cell == nil) clause.

+4


source







All Articles