我遇到以下功能的问题

[NSIndexPath indexPathForItem:item inSection:0]

有时会返回具有以下描述的NSIndexPath对象:
<NSIndexPath: 0x7a32c0> {length = 2, path = 0 - 2147483648}

显然,这是一个无效的路径,但是我找不到任何表明该函数为什么会返回这样的路径的来源。如果我稍后取消该操作并运行同一行代码,它将返回正确的值。

返回的错误值似乎是随机的,因此我试图找出是什么原因导致其返回这样的值。文档指出,如果没有有效的索引路径,它将返回nil。

最佳答案

路径无效。您提供的item索引是。

我会给你一个提示。尝试运行以下代码:

NSLog(@"%@", [NSIndexPath indexPathForItem:NSNotFound inSection:0]);

如果仍然找不到问题,请查看item的计算方式。可能有一些类似...的代码
NSUInteger item = [someArray indexOfObject:someObject];

... NSNotFound值表示缺少对象。

07-25 23:04
查看更多