Ios 递增nsindepath

Ios 递增nsindepath,ios,objective-c,uitableview,Ios,Objective C,Uitableview,所以我一直在四处搜索,似乎大多数人都认为以以下方式递增indexPath是正确的方法: NSIndexPath *newIndexPath = [NSIndexPath indexPathForRow:oldIndexPath.row + 1 inSection:oldIndexPath.section]; 我似乎看不到有人用这种方式解决我的问题:如果将tableView中的最后一个indexPath提供给这个方法,会发生什么?如果尝试在tableView的“范围”之外初始化indexPath

所以我一直在四处搜索,似乎大多数人都认为以以下方式递增indexPath是正确的方法:

NSIndexPath *newIndexPath = [NSIndexPath indexPathForRow:oldIndexPath.row + 1 inSection:oldIndexPath.section];
我似乎看不到有人用这种方式解决我的问题:如果将tableView中的最后一个indexPath提供给这个方法,会发生什么?如果尝试在tableView的“范围”之外初始化indexPath,它会崩溃吗?如果它不会在那里崩溃,那么如果您在其“范围”之外提供indexPath,那么与UITableView和使用indexPath相关的任何方法都会崩溃吗


我现在正在使用我自己的算法来防止这些问题,但我想知道我是否可以放弃它,只使用这种方法?它有多安全?

一个
nsindepath
没有绑定到表视图。它只是一个包装整数数组的对象。通常我们处理的索引路径只包含两个整数,但实际上它可以包含任何数字。因此,无论任何表视图的大小如何,都可以使用所需的任何整数初始化索引路径


将索引路径传递给表视图时,表视图通常会检查以确保路径中的每个索引都在范围内,如果其中任何索引不在范围内,则会崩溃。

NSIndexPath未绑定到表视图。它只是一个包装整数数组的对象。通常我们处理的索引路径只包含两个整数,但实际上它可以包含任何数字。因此,无论任何表视图的大小如何,都可以使用所需的任何整数初始化索引路径


当您将索引路径传递给表视图时,表视图通常会检查以确保路径中的每个索引都在范围内,如果其中任何一个不在范围内,则会崩溃。

似乎您正在做唯一可能的事情。除了发布的一行代码外,还需要添加自己的逻辑,以确保不会使用对表视图数据毫无意义的索引路径。好的,我就是这么想的。我基本上在我自己的实现中这样做是为了增加indexPath,除了我在那一侧添加了检查,而不是在增加indexPath之后。除了发布的一行代码外,还需要添加自己的逻辑,以确保不会使用对表视图数据毫无意义的索引路径。好的,我就是这么想的。基本上,我在自己的实现中这样做是为了增加indexPath,除了我在那一侧添加了检查,而不是在增加indexPath之后。因此,听起来这是一种增加indexPath的不安全方法。除非您已经准备好了其他检查,我在增加indexPath的方法中包括了这些检查,然后检查了一个回退案例以确保我得到了一个有效的indexPath。谢谢你的信息!我将坚持使用我的方法,而不是使用这一行。因此,听起来这是一种通常不安全的方法来增加您的索引XPath。除非您已经准备好了其他检查,我在增加indexPath的方法中包括了这些检查,然后检查了一个回退案例以确保我得到了一个有效的indexPath。谢谢你的信息!我将坚持我的方法,而不是这一行。