Objective c 防止删除表视图中的第一行

Objective c 防止删除表视图中的第一行,objective-c,ios,cocoa-touch,uitableview,Objective C,Ios,Cocoa Touch,Uitableview,我想停止用户从我的表视图中删除所有行,以便至少有一行始终存在 我仍在努力掌握编程和目标c 以下是我尝试过的: if (indexPath.section != 0 | editingStyle == UITableViewCellEditingStyleDelete) { [self.managedObjectContext deleteObject:[self.circuits objectAtIndex:indexPath.row]]; [self.appDelegate sav

我想停止用户从我的表视图中删除所有行,以便至少有一行始终存在

我仍在努力掌握编程和目标c

以下是我尝试过的:

  if (indexPath.section != 0 | editingStyle == UITableViewCellEditingStyleDelete) {
  [self.managedObjectContext deleteObject:[self.circuits objectAtIndex:indexPath.row]];
  [self.appDelegate saveContext];
  [self.circuits removeObjectAtIndex:indexPath.row];
  [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]             withRowAnimation:UITableViewRowAnimationFade];
然后

这没有任何效果,因为我仍然可以删除第一行。于是我试着

- (BOOL)tableView:(UITableView *)commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row == 0) 
    return NO;

return YES;
}
仍然无法阻止删除第一行

请尝试将代码移动到 -BOOLtableView:UITableView*tableView caneditrowatinexpath:nsindepath*indepath 尝试将代码移动到 -BOOLtableView:UITableView*tableView caneditrowatinexpath:nsindepath*indepath

您需要实现tableView:caneditrowatinexpath:方法,并为indexPath.0行返回NO

您需要实现tableView:canEditRowAtIndexPath:方法,并为indexath.row 0返回NO

请尝试以下代码:-

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
    {
    if(indexPath.row==0)
    return NO;
    else
    return YES;

    }
它肯定会帮助您

尝试以下代码:-

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
    {
    if(indexPath.row==0)
    return NO;
    else
    return YES;

    }

它肯定会帮助您

单管|表示按位或。你是说逻辑OR,也就是| |。您所做的可能会起作用,但仍然是错误的。感谢您的提示,这说明Single pipe |表示按位或。你是说逻辑OR,也就是| |。你所做的可能有用,但仍然是错的。谢谢你的提示
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
    {
    if(indexPath.row==0)
    return NO;
    else
    return YES;

    }