因此,我一直在搜索,而且似乎大多数人都认为以以下方式递增indexPath是正确的方法:
NSIndexPath *newIndexPath = [NSIndexPath indexPathForRow:oldIndexPath.row + 1 inSection:oldIndexPath.section];我似乎看不到有人用这种方式解决我的问题:如果您将tableView中的最后一个tableView提供给这个方法,会发生什么?如果您试图在tableView的“范围”之外初始化indexPath,它会崩溃吗?如果它不会崩溃,那么如果您向它提供超出其“范围”的indexPath,它会涉及到UITableView并使用indexPath的崩溃吗?
我目前正在使用我自己的算法来保护这些问题,但我想知道我是否可以放弃它,只使用这个方法?有多安全?
发布于 2015-12-08 16:07:59
NSIndexPath不绑定到表视图。它只是一个封装整数数组的对象。通常,我们处理的索引路径只包含两个整数,但实际上可以包含任何数字。因此,您可以使用任意整数初始化索引路径,而不管任何表视图的大小。
当您将索引路径传递给表视图时,表视图通常会检查路径中的每个索引是否在范围内,如果没有,则会崩溃。
https://stackoverflow.com/questions/34160385
复制相似问题