didSelectRowAtIndexPath返回一个非常大的数字

时间:2015-06-22 19:18:11

标签: swift didselectrowatindexpath

尝试使用以下方法查找TableViewController中触及的行号:

 override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    let indexPath = tableView.indexPathForSelectedRow();
    let currentCell = tableView.cellForRowAtIndexPath(indexPath!) as UITableViewCell?;
    NSLog("Current Cell = %d", currentCell!)
}

如果您按下相同的单元格但是会出现像410772272或409747056这样的极大数字,它会返回相同的数字。在双单元格测试中,我期望得到1或2.如果您使用%i,则返回相同的数字或%d。

任何见解或我是否完全使用了错误的电话。

1 个答案:

答案 0 :(得分:1)

使用

NSLog("Current Cell = %d", currentCell!)

您正在打印存储在currentCell变量中的内存地址 - 这就是为什么它的数字很高。

您可以通过indexPath.row获取行号;你甚至不需要let currentCell =行。