如何为TableView创建NSIndexPath

我需要删除我定义的函数中的表的第一行。为了使用deleteRowAtIndexPath,必须使用定义了section和row的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];
203264 次浏览

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

编辑:在Swift 3:

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

斯威夫特5

IndexPath(row: 0, section: 0)

indexPathForRow是一个类方法!

代码应该如下:

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

Swift中的强制回答:NSIndexPath(forRow:row, inSection: section)

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

对于Swift 3,现在是:IndexPath(row: rowIndex, section: sectionIndex)