iOS:是否可以删除cellForRow数据源中的单元格

时间:2017-06-29 21:24:17

标签: ios objective-c uitableview datasource

是否可以删除

中的单元格
- (UITableViewCell *)tableView:(UITableView *)tableView
         cellForRowAtIndexPath:(NSIndexPath *)indexPath {

我已尝试在UITableView数据源中使用以下方法。

 [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationNone];

然而,当我尝试这个时,我的应用程序崩溃了。我得到了断言失败的崩溃。

我尝试这个的原因是因为在用户滚动时会出现某些数据,我想在我去的时候将其删除。但是,我相信我可能必须事先做好。

1 个答案:

答案 0 :(得分:0)

你的应用程序崩溃了,因为你只是从UI中删除了单元而不是实际的数据源。

选项1: 1)首先从数据源中删除该特定索引中的项目 2)重新加载表视图

选项2: 1)首先从数据源中删除该特定索引中的项目 2)调用[self.tableview deleterowAtIndexpath:[Nsindexpath ... for the datasource item:withAnimation:UItableViewanimation .. function]]

选项2是在删除时显示一些动画。

您可以在cellforrow函数之外调用这些函数,以便删除要删除该项目的任何操作按钮或函数。