Swift表:indexPath.row返回-1

时间:2015-08-23 19:31:56

标签: swift

当我滑动一行并使用iOS模拟器输入editActionsForRowAtIndexPath时,indexPath.row会不时地等于-1。这是一种非常罕见的情况,因此除了在代码中等待println(indexPath.row)之外,它很难调试,这就是我知道它返回-1的方式。还有其他人有过这方面的经验吗?

1 个答案:

答案 0 :(得分:1)

NSIndexPath行的整数是带符号的NSInteger,而不是NSUInteger。这个的原因可能是因为无符号类型可能容易下溢。这意味着-1的索引路径行将返回约4294967294的行值。

answer声称UITableView的早期版本使用NSInteger作为疏忽,并且Apple将所有内容(部分,行数等)更改为{{1}将签名和未签名的类型和谐地协同工作将是一项艰巨的任务。

如果您的代码中有从NSUInteger中减去1的情况,则当索引为0时,将发生此行为。