首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何递增NSIndexPath

如何递增NSIndexPath
EN

Stack Overflow用户
提问于 2012-03-09 14:53:33
回答 4查看 7.3K关注 0票数 6

我有一个想要使用索引路径的数据环境。当我遍历数据时,我想递增NSIndexPath的最后一个节点。到目前为止,我拥有的代码是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int nbrIndex = [indexPath length];
NSUInteger *indexArray = (NSUInteger *)calloc(sizeof(NSUInteger),nbrIndex);
[indexPath getIndexes:indexArray];
indexArray[nbrIndex - 1]++;
[indexPath release];
indexPath = [[NSIndexPath alloc] initWithIndexes:indexArray length:nbrIndex];
free(indexArray);

这感觉有点笨拙--有没有更好的方法呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-09 15:01:31

你可以试试这个--也许同样笨拙,但至少短一点:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
NSInteger newLast = [indexPath indexAtPosition:indexPath.length-1]+1;
indexPath = [[indexPath indexPathByRemovingLastIndex] indexPathByAddingIndex:newLast];
票数 6
EN

Stack Overflow用户

发布于 2012-08-09 02:25:13

这样就少了一行:

indexPath = [NSIndexPath indexPathForRow:indexPath.row+1 inSection:actualIndexPath.section];

票数 5
EN

Stack Overflow用户

发布于 2015-10-30 08:19:51

在Swift上查看我的解决方案:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
func incrementIndexPath(indexPath: NSIndexPath) -> NSIndexPath? {
    var nextIndexPath: NSIndexPath?
    let rowCount = numberOfRowsInSection(indexPath.section)
    let nextRow = indexPath.row + 1
    let currentSection = indexPath.section

    if nextRow < rowCount {
        nextIndexPath = NSIndexPath(forRow: nextRow, inSection: currentSection)
    }
    else {
        let nextSection = currentSection + 1
        if nextSection < numberOfSections {
            nextIndexPath = NSIndexPath(forRow: 0, inSection: nextSection)
        }
    }

    return nextIndexPath
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9636086

复制
相关文章
如何查找递增连续数组中缺失的数字
在一个长度为n的递增数组中,数组中元素范围是0 ~ n-1,如何在这个递增连续数组中查找缺失的数字? 分析下: 1. 排序数组中的搜索算法,首先想到的就是二分法查找 2. 丢失的数字之前的左子数组:n
一个架构师
2022/06/20
3.2K0
如何查找递增连续数组中缺失的数字
递增子序列
给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。
你的益达
2020/08/27
8180
单调递增的数字
给定一个非负整数N,找出小于或等于N的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。当且仅当每个相邻位数上的数字x和y满足x <= y时,我们称这个整数是单调递增的。
WindRunnerMax
2020/12/18
1.5K0
最长递增子序列
import java.util.*; public class 最长连续递增序列 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int[] list = { 1, 9, 2, 5, 7, 3, 4, 6, 8, 0 }; // int[] list = { 1, 23, 44, 55, 66 }; getLargestLen
SingYi
2022/07/14
9120
最长递增子序列
从最长递增子序列学会如何推状态转移方程
也许有读者看了前文 动态规划套路详解,学会了动态规划的套路:找到了问题的「状态」,明确了dp数组/函数的含义,定义了 base case;但是不知道如何确定「选择」,也就是不到状态转移的关系,依然写不出动态规划解法,怎么办?
labuladong
2021/09/23
8950
最长递增子序列
最长递增序列不要求数组元素连续问题,返回递增序列长度和递增序列。o(n^2)做法,顺序比较以第i个元素开头的递增序列即可。 利用动态规划来做,假设数组为1, -1, 2, -3, 4, -5, 6, -7。我们定义LIS[N]数组,其中LIS[i]用来表示以array[i]为最后一个元素的最长递增子序列。 使用i来表示当前遍历的位置: 当i = 0 时,显然,最长的递增序列为(1),则序列长度为1。则LIS[0] = 1 当i = 1 时,由于-1 < 1,因此,必须丢弃第一个值,然后重新建立序列。当前的递
机器学习算法工程师
2018/03/06
1.2K0
Leetcode:最长连续递增序列
连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], ..., nums[r - 1], nums[r]] 就是连续递增子序列。
Liusy
2021/02/01
7390
最长单调递增子序列
动态规划问题: 令dp[i]表示:在str[0-i]中,当以str[i]为单调递增子序列最后一个元素时,所得最长单调递增子序列的长度。 递推式: dp[0]=1(第一个字符自己也为递增序列 ) 当0<=k<=i时,if(str[k]<=str[i]) max{dp[k]}+1(从第k个字符开始,现在0-k-1个字符中找到比k字符小的字符,然后在它们之中找到一个最大的,然后此值加1即为dp[i]) dp[i]表示从零到i为原序列的最长子序列的值。 #include<iostream> #include<alg
用户1215536
2018/02/05
8720
shell循环做数字递增
在shell用for循环做数字递增的时候发现问题,特列出shell下for循环的几种方法:
全栈程序员站长
2022/09/15
2.2K0
最长递增子序列(LIS)[通俗易懂]
处理第二个元素 2 的时候判断是否比前面的元素 4 大,没有的话那么以 2 为结尾的 LIS 就是 2,
全栈程序员站长
2022/08/10
1K0
最长递增子序列(LIS)[通俗易懂]
回溯算法:递增子序列
题目链接:https://leetcode-cn.com/problems/increasing-subsequences/
代码随想录
2020/11/11
1.2K0
回溯算法:递增子序列
java最长递增子序列_求数组中最长递增子序列「建议收藏」
1、把a1,a2,…,an排序,假设得到a’1,a’2,…,a’n,然后求a的a’的最长公共子串,这样总的时间复杂度为o(nlg(n))+o(n^2)=o(n^2);
全栈程序员站长
2022/08/12
5430
最长递增子序列python_求最长递增子序列并输出序列
设L=<a1,a2,…,an>是n个不同的实数的序列,L的递增子序列是这样一个子序列Lin=<aK1,ak2,…,akm>,其中k1<k2<…<km且aK1<ak2<…<akm。求最大的m值。
全栈程序员站长
2022/11/17
7340
最长递增子序列python_求最长递增子序列并输出序列
递增子序列,有点难度!
力扣题目链接:https://leetcode-cn.com/problems/increasing-subsequences/
代码随想录
2021/10/19
8820
单调递增最长子序列
求一个字符串的最长递增子序列的长度 如:dabdbf最长递增子序列就是abdf,长度为4
书童小二
2018/09/03
6120
java代码薄:递增序列
通常需要seq时很多时候一般直接用数据库或者第三方服务来满足我们的需求。但在特定的时候我们并不想引入太多的三方服务,也许我们仅仅只想要做一个demo,这个demo中需要一个序列号,这个自己实现起来有很多方式,并且也不难。但是如果有直接可以拿来用的,为什么还要再造一个轮子呢?
cosmozhu
2020/06/15
1.1K0
最长连续递增子序列
给定一个顺序存储的线性表,请设计一个算法查找该线性表中最长的连续递增子序列。例如,(1,9,2,5,7,3,4,6,8,0)中最长的递增子序列为(3,4,6,8)。
叶茂林
2023/07/30
2210
iOS面向切面的TableView-AOPTableView
这个是公司很久之前的开源项目,一个大牛写的,在项目中一直有在用,今天有空发了点时间看下如何实现,看了之后感觉挺有收获,故撰此文,分享给需要的同学。
iOSSir
2019/05/11
1K0
674. 最长连续递增序列
示例 1: 输入:nums = [1,3,5,4,7] 输出:3 解释:最长连续递增序列是 [1,3,5], 长度为3。 尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为 5 和 7 在原数组里被 4 隔开。 示例 2: 输入:nums = [2,2,2,2,2] 输出:1 解释:最长连续递增序列是 [2], 长度为1。 class Solution { public int findLengthOfLCIS(int[] nums) {
CaesarChang张旭
2021/06/21
4080
300. 最长递增子序列
给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。
名字是乱打的
2021/12/24
5250

相似问题

NSIndexPath递增值

22

NSIndexPath -如何操作?

11

如何引用NSIndexPath?

35

NSIndexpath.item vs NSIndexpath.row

50

UICollectionView NSIndexPath?

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文