你能否将NSIndexPath转发给NSInterger

时间:2015-12-08 22:27:59

标签: ios nsindexpath nsinteger downcast

我有一个AVPlayer类,我在详细视图中使用了一个类型为Int的indexPath。

我从表视图tableViewDidSelectAtIndexPath获取indexPath,然后将其发送到要使用的详细VC。

我试着简单地将NSIndexPath转发为! NSInteger在将它发送到详细VC之前使用但它崩溃而没有崩溃消息。所以我有点担心如何解决这个问题。

有可能向下倾斜吗?如何将NSIndexPath中的数字转换为Int,以便我可以在我的课程中使用它?

2 个答案:

答案 0 :(得分:0)

NSIndexPath始终是部分(适用于UITableView)或的组合( UICollectionView)。

您需要通过访问单个索引来解散该部分:

id object = [[self dataSource] objectAtIndex:[indexPath row]];

*编辑

各自的意见:你是对的。 NSIndexPath可以使用多个索引。

如果您知道有多个索引(我在UITableViewDelegate中不会期望的话),您可以迭代索引:

for (int i = 0; i < [indexPath length]; i++) {
    NSUInteger index = [indexPath indexAtPosition:i];
    // use index to access whatever you want
}

修改

在您下次询问之前,

阅读文档和标题。小提示: cmd - 点击 NSIndexPath将带您进入包含所有可能信息的头文件。

答案 1 :(得分:0)

目标C

NSInteger currentRow = indexPath.row; 

<强>夫特

let currentRow = self.tableView.indexPathForSelectedRow().row