didSelectRowAtIndexPath 返回一个非常大的数字

didSelectRowAtIndexPath returning a very large number

尝试使用以下方法查找 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!)
}

它 returns 如果你按同一个单元格,它是相同的数字,但会出现非常大的数字,如 410772272 或 409747056。在双单元格测试中,我期待 1 或 2。Returns如果您使用 %i 或 %d,则相同的数字。

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

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

您正在打印存储在 currentCell 变量中的内存地址 - 这就是为什么它这么大的原因。

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