如何从int创建NSIndexPath?

时间:2012-10-21 11:42:22

标签: objective-c ios

错误讯息:

  

使用ARC

禁止将“int”转换为“NSIndexPath *”

代码:

NSInteger CurrentIndex;

[self tableView:(UITableView *)horizontalTableView1 didSelectRowAtIndexPath:(NSIndexPath *)int_CurrentIndex];

如何解决此错误?

2 个答案:

答案 0 :(得分:65)

您无法直接将int变量投射到NSIndexPath。但您可以从NSIndexPath变量中生成int

您需要section索引和row索引才能生成NSIndexPath。如果您的UITableView只有一个section,那么:

<强>目标C

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:rowIndex inSection:0];

<强>夫特

let indexPath: NSIndexPath = NSIndexPath(forRow: rowIndex, inSection: 0)

Swift 4

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

答案 1 :(得分:4)

Swift 3.0

let indexPath : IndexPath = IndexPath(item: currentIndex, section: 0)