2010-12-23 87 views
1

中的二维数组我试图创建一个2维的整数数组。Objective-C中的二维数组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]或什么都不起作用。

任何人都可以帮助我吗?

在.h文件中

回答

1

找到了解决方案,我有一个静态初始化器。你不能使用这些。

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作为参数,那么清楚的是,该函数对该参数进行操作,但是通过使该函数具有全局性,您无法轻松查看函数正在使用什么。

+0

我得到一个其它的错误: 未定义的符号: “_levelData”,从引用:在Game.o _levelData $ non_lazy_ptr(也许你的意思是:_levelData $ non_lazy_ptr) LD:符号(S)没有发现 – Juulie 2010-12-23 02:17:46