调用[tableView reloadData]
表格视图的方法后,我的应用程序崩溃了。这是在删除单行tableview(具有表视图默认删除行为)并调用[tableView reloadData]
然后在此委托numberOfSectionsInTableView
应用程序崩溃并向我显示崩溃消息[UITableViewCell _setDeleteAnimationInProgress : ] : message sent to deallocated instance
之后发生的,我用谷歌搜索,但无法得到健康的反应。如果任何人面临这种崩溃,那么请帮助找出这个问题。以下是我的代码。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 2;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if(section==0)
return [[dbSingleton sharedInstance] get_players_count];
else if(section==1)
return 0;
}
- (NSString )tableView:(UITableView )tableView titleForHeaderInSection:(NSInteger)section{
if(section==0)
return @"Player Detail";
return nil;
}
- (UITableViewCellEditingStyle)tableView:(UITableView )tableView editingStyleForRowAtIndexPath:(NSIndexPath )indexPath{
if(indexPath.section==1)
return UITableViewCellEditingStyleNone;
else
return UITableViewCellEditingStyleDelete;
}
}
-(CGFloat)tableView:(UITableView )tableView heightForRowAtIndexPath:(NSIndexPath )indexPath{
return 44;
}
寻找回应。提前谢谢。
答案 0 :(得分:12)
最后,我找到了解决方案。我错误的是我在reloadData
上调用方法commitEditingStyle
,它在删除行之前重新加载数据,正如This Thread的回答所提到的那样。我希望这也有助于其他人。
感谢您的参与。
答案 1 :(得分:-1)
[tableView Reload]产生崩溃然后它非常确定数据源中存在问题所以我认为在tableview部分添加断点并检查是否正在更新数据源,否则显示完整的崩溃消息。