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