Im是Objective-c的新手,Im要做的是创建一个二维整数数组。
我知道我可以用C,方法如下:

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

问题是,我希望其他类能够访问此数据,所以我必须在头文件中包含此变量,这就是问题所在:
声明为int **levelData, int levelData[3][4]或其他任何方式都不起作用。
有人能帮我吗?

最佳答案

在你的.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作为参数,很明显,该函数对该参数进行操作,但是通过使其全局化,您很难看到函数在使用什么。

10-04 13:15