我有一个自定义 UITableViewCell (ReservationsCell.h/ReservationsCell.m/ReservationsCell.xib),其中有一个按钮。在NIB文件中,标识符设置为reservationsCell
,File's Owner设置为View Controller,自定义类设置为ReservationsCell
。按钮的 TouchUpInside 事件链接到编写在 ViewController 文件中的 IBAction。
问题
当我单击按钮时,我得到一个 EXC_BAD_ACCESS-[NSObject performSelector:withObject:withObject:]: message sent to deallocated instance 0x398e7ff0
尝试
过去几个小时教我尝试 NSZombies,这告诉我错误是由我的tableView:cellForRowAtIndexPath
方法引起的。
代码
视图控制器.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
.
请帮我。提前致谢!:)