Objective-C循环逻辑

我是Objective-C编程的新手,我的背景是labview,这是一种图形化编程语言,我使用Visual Basic和
HTML / CSS也是相当多的.我正在试图找出为下面的模式创建数据数组的逻辑.我稍后需要该模式以特定顺序从另外2个数组中提取数据.

我可以通过引用a = 1,b = 2,c = 3等来完成,然后使用a,b,c创建数组,但我想使用一个循环,这样我就没有数组上面的8个引用.这些引用将用于生成另一代数据,因此,除非我能帮助找出逻辑,否则我将最终得到数组上方的72个引用.

//这是第一个给出模式的

0 0 0 0(etc)// 1 1 1 1 // 2 2 2 2

NSMutableArray * expSecondRef_one = [NSMutableArray array];

int a1 = 0;
while (a1 < 9) {
    int a2 = 0;
        while (a2 < 8) {
            NSNumber * a3 = [NSNumber numberWithInt:a1];
            [expSecondRef_one addObject:a3];
            a2++;
        }
    a1++;   
}

//这是我绊倒的第二个,我正在寻找模式

1 2 3 4 5 6 7 8 //
0 2 3 4 5 6 7 8 //
0 1 3 4 5 6 7 8 //
0 1 2 4 5 6 7 8 // etc to -> // 0 1 2 3 4 5 6 7

如果你在一行中运行它,每第9个数字为-1,但我不知道如何在8的模式上执行此操作.

提前致谢!

格雷厄姆

最佳答案 我想你正在寻找类似的东西:

for(int i = 0; i < 9; ++i) {
  for (int j = 0; j < 8; ++j) {
    if (j < i) {
      //Insert j into array
    }
    else {
      //Insert j + 1 into array
    }
  }
}

我遗漏了代码以实际将数字插入数组中.

我并不完全清楚你是如何使用这个数组的,但是如果这只是从另一组数组访问数据的索引顺序,你可以跳过第一组数组并只使用这个循环来稍后访问您的数据.

– 编辑 –

如果我正确理解您,您希望将9个数字的数组中的每个索引与每个其他索引进行比较,然后将结果存储在数组中.如果是这样的话,你可以这样做:

for (int i = 0; i < 9; ++i) {
  for (j = 0; j < 9; ++j) {
    if (j != i) {
      //Compare object at array index i with object at array index j
    }
  }
}
点赞