我是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]
或无效。
任何人都可以帮助我吗?
答案 0 :(得分:2)
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)
找到解决方案,我有一个静态初始化程序。你不能将它们与此结合使用。