可能我的代码在以下方法中崩溃,因为 getData() 仅在此方法结束时被调用一次。
此外 didSelectRowAtIndexPath 代码如下:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)newIndexPath
{
[tableView deselectRowAtIndexPath:newIndexPath animated:YES];
// Set
[[GlobalObject obj] setData:[(CustomCell*)[tableView cellForRowAtIndexPath:newIndexPath] getData]];
}
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[CustomCell getData]:无法识别的选择器已发送到实例。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.section == 0)
{
...
return cell;
}
else
{
// Create a button table view cell
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:@"CustomCell"];
if (cell == nil)
{
cell = [[[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CustomCell"] autorelease];
}
[cell setButton:[ ...];
return cell;
}
}
如上所示,单元格是自动释放的,这可能是应用程序崩溃的原因。Cell 进入自动释放池,然后将 getData 发送到无法识别的选择器。我该如何解决这个问题?