У меня есть пользовательский UITableViewCell (ReservationsCell.h/ReservationsCell.m/ReservationsCell.xib) с кнопкой в нем, среди прочего. В файле NIB идентификатор устанавливается как reservationsCell
, владелец файла установлен как контроллер просмотра, а пользовательский класс устанавливается как ReservationsCell
. Событие TouchUpInside кнопки, связанное с IBAction, записанное в файле ViewController.нажатие кнопки на пользовательском UITableViewCell throws EXC_BAD_ACCESS
Проблема
, когда я нажимаю кнопку, я получаю EXC_BAD_ACCESS -[NSObject performSelector:withObject:withObject:]: message sent to deallocated instance 0x398e7ff0
Попытки
последние несколько часов научил меня, чтобы попробовать NSZombies и сказал мне, что ошибка была вызвана моим методом tableView:cellForRowAtIndexPath
.
Код
ViewController.m
- (void)viewDidLoad
{
[super viewDidLoad];
.....
// register ReservationCell nib
[self.reservationsTableView registerNib:[UINib nibWithNibName:@"ReservationsCell" bundle:nil] forCellReuseIdentifier:@"reservationsCell"];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"reservationsCell";
ReservationsCell *cell = (ReservationsCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellIdentifier owner:self options:nil];
cell = [nib objectAtIndex:0];
}
......
}
Согласно Zombies, конкретная строка, которая бросает ошибку, кажется dequeueReusableCellWithIdentifier
.
Пожалуйста, помогите мне. Заранее спасибо! :)
сообщение ваш сделанныйSelectRowAtIndexPath код! – thatzprem
@PremKumar К сожалению, я даже не использовал этот метод. – chongzixin