Ios 如何在tableView中删除单元格

Ios 如何在tableView中删除单元格,ios,uitableview,Ios,Uitableview,我正在尝试让用户删除我应用程序中的一行。但它不起作用。我是应用程序开发新手,请帮助我 - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { [self.userSelectedNamesAndMeaning removeObjectForKey

我正在尝试让用户删除我应用程序中的一行。但它不起作用。我是应用程序开发新手,请帮助我

 - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
 {
    [self.userSelectedNamesAndMeaning removeObjectForKey:indexPath];
    [self.userSelectedNamesAndMeaning writeToFile:self.pathToPlist atomically:YES];
    [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];

    [tableView reloadData];
 }

我想到了如何从NSMutableDictionary中删除键值,解决方案是

   [self.userSelectedNamesAndMeaning removeObjectForKey:[self.allNames objectAtIndex:indexPath.row]];
其中allNames是存储用于绘制表的所有名称的NSArray


现在,问题是从UI中删除该行时,该行显示异常错误。

是否触发了您的方法?Try:NSLog@%s,函数;您是否收到任何错误或异常??或者尝试调试此方法,并让我知道是否调用了此方法?如果未调用此方法,请确保已添加UITableViewDelegateYes,在右击时我看到删除操作,在点击时,它正在调用此方法。@User2509601问题似乎出在indexPath,因为它没有返回键值。如何知道行的键值是多少@我的程序有什么例外?您可以删除deleteRowsAtIndexPaths调用,只需调用[tableView reloadData];从数据结构中删除该项后。但是,如果您有一个大的数据集,这将不是最佳的。发布异常将有所帮助。@Helium3我也尝试过,但它没有重新加载,如果点击另一个选项卡并返回到此页面,它将删除它。但是[tableView ReloadData]没有重新加载tableView。有什么建议可以解决吗?tableView是在xib中创建的吗?您需要将委托和数据源连接到视图控制器。您应该将UITableViewDelegate协议添加到拥有tableview的类的.h文件中。