我需要删除我定义的函数中的表的第一行。为了使用deleteRowAtIndexPath,必须使用定义了节和行的IndexPath。如何创建这样的indexpath ?

int类型为{1}的数组将崩溃;NSLog消息表明section也需要被定义。

删除单元格的代码:

    NSIndexPath *myIP = [[NSIndexPath alloc] indexPathForRow:0 inSection:0];
    NSArray *myArray = [[NSArray alloc] initWithObjects:myIP, nil];
//  [self.tableView beginUpdates];
    [self.tableView deleteRowsAtIndexPaths:myArray withRowAnimation:UITableViewRowAnimationFade];
//  [self.tableView endUpdates];

当前回答

对于Swift 3,现在是:IndexPath(行:rowIndex,节:sectionIndex)

其他回答

强制答案在Swift: NSIndexPath(forRow:行,inSection:节)

你会注意到NSIndexPath。indexPathForRow(row, inSection: section)在swift中是不可用的,你必须使用第一个方法来构造indexPath。

indexPathForRow是一个类方法!

代码应该如下:

NSIndexPath *myIP = [NSIndexPath indexPathForRow:0 inSection:0] ;

对于Swift 3,现在是:IndexPath(行:rowIndex,节:sectionIndex)

使用[NSIndexPath indexPathForRow:inSection:]快速创建索引路径。

编辑:在Swift 3中:

let indexPath = IndexPath(row: rowIndex, section: sectionIndex)

斯威夫特5

IndexPath(row: 0, section: 0)