首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从某个索引开始遍历NSmutatable数组

从某个索引开始遍历NSmutatable数组
EN

Stack Overflow用户
提问于 2017-05-24 06:10:35
回答 3查看 179关注 0票数 1

我有一个快速的问题:如何从特定的索引开始循环处理NSMutable数组。例如,我有这些双循环,我希望k从与l相同的索引开始。

代码语言:javascript
复制
for (Line *l in L)
    {
        for (Line *k in L)
        {
............
        }
    }

为了进一步说明,假设L有10个对象,所以l从0-10开始,k从0 -10开始。我想要的是,如果l等于,1k应该从1-10开始,而不是从0-10开始,当我等于的时候,2k应该从2-10开始,而不是0。任何帮助都是非常感谢的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-05-24 06:24:13

您只需修改for-语句即可。

代码语言:javascript
复制
 NSInteger indexYouNeed;
 NSInteger iterationCount;

 for (int i = indexYouNeed; i < iterationCount; i++) {
       /* Your code here */         
  }

你可能会发现this link很有用。

票数 0
EN

Stack Overflow用户

发布于 2017-05-24 06:16:38

Objective是C的扩展,查找C for循环,您将得到答案。HTH

增编

我本打算让您从自己查找C for的学习经验中受益,然而,在编写添加了代码后的所有其他答案时,请给出代码,但它还没有完成,因此,下面是按照您希望的顺序生成lk值所需的内容:

代码语言:javascript
复制
for(NSInteger lIndex = 0; lIndex < L.count; lIndex++)
{
   Line *l = L[lIndex]; // index into your array to get the element
   for(NSInteger kIndex = lIndex; kIndex < L.count; kIndex++)
   {
      Line *k = L[kIndex];
      // process your l and k
   }
}

如您所见,for有三个子部分,即初始化、条件和增量。首先执行初始化,然后是确定是否执行for主体的条件,增量在正文中的语句之后和条件测试之前执行,以确定是否应该执行另一个迭代。for循环对while循环来说大致是(这里有一些不重要的区别):

代码语言:javascript
复制
initialisation;
while(condition)
{
    body statements;
    increment;
}
票数 1
EN

Stack Overflow用户

发布于 2017-05-24 06:23:21

您必须使用索引(普通) for循环而不是快速枚举(for-in):

代码语言:javascript
复制
int l;
for (l=startValue; l<=endValue; l++)
{
    int i;
    for (int i=l; i<=endValue; i++) 
    {
      …
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44150266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档