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 =
行。
尝试使用以下方法查找 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 =
行。