gpt4 book ai didi

objective-c - 在 Objective-C 中设置数组的内容

转载 作者:行者123 更新时间:2023-12-02 05:08:41 25 4
gpt4 key购买 nike

我刚开始学习 Objective C,对数组有点困惑。基本上,我想根据 switch/case 变量设置数组的内容。我可以在声明它时设置数组,如下所示:

int aTarget[3][2] = {{-1,0}, {-1,-1}, {-1,-1}};

但是,我需要根据枚举变量“dir”的值设置数组的内容。但是我在尝试设置数组内容的每一行都收到错误“Expected expression”:

//define the target cells
int aTarget[3][2];

switch (dir) {
case north:
aTarget = {{0,-1}, {-1,-1}, {1,-1}};
break;
case east:
aTarget = {{1,0}, {1,-1}, {1,1}};
break;
case south:
aTarget = {{0,1}, {-1,-1}, {1,-1}};
break;
case west:
aTarget = {{-1,0}, {-1,1}, {-1,-1}};
break;
default:
break;
}

我一直在网上搜索,但大多数示例都使用 nsArray,但对于一个简单的整数列表来说,这似乎有点矫枉过正。请告诉我哪里出错了。非常感谢,特雷弗

最佳答案

typedef enum {north = 0, east, south, west} Direction;
const int COLS = 6;

Direction dir = north;
int targets[4][COLS] =
{{0,-1,-1,-1,1,-1},
{1,0,1,-1,1,1},
{0,1,-1,-1,1,-1},
{-1,0,-1,1,-1,-1}};

//define the target cells
int aTarget[COLS];

// Fill the array with the appropriate values, dependent upon the
// value of dir.
for (int i = 0; i < COLS; i++)
aTarget[i] = targets[dir][i];

关于objective-c - 在 Objective-C 中设置数组的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8285268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com