Objective-c中的C 2维数组

时间:2010-12-23 01:30:19

标签: objective-c c arrays variables multidimensional-array

我是Objective-c的新手,我想做的是创建一个二维整数数组。

我知道我可以用以下方式使用C:

int levelData[3][4] = {{1,1,1,1}, {1,0,0,1}, {1,1,1,1}};

事实上,我希望其他类能够访问这些数据,所以我必须在头文件中包含这个变量,这就是问题所在:

声明为int **levelData, int levelData[3][4]或无效。

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

你写的.h文件中的

extern int levelData[3][4];
你写的.m / .c文件中的

int levelData[3][4]= {{1,1,1,1},{1,0,0,1},{1,1,1,1}};

编辑:

无论如何最好完全避免全局变量,而是将其作为参数传递,或者让它在你的objective-c类中是一个ivar。这避免了奇怪的模块之间难以看到的依赖关系,例如如果一个函数将levelData作为参数,很明显该函数对该参数进行操作,但是通过将其设置为全局,您无法轻易看到函数正在使用的内容。

答案 1 :(得分:1)

找到解决方案,我有一个静态初始化程序。你不能将它们与此结合使用。