objective-c - Objective-c 中的 C 二维数组

标签 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] 或任何无效的。

谁能帮帮我?

最佳答案

在你写的 .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 作为参数,则很明显该函数对该参数进行操作,但是通过将其设为全局,您将无法轻易看出函数正在使用什么。

关于objective-c - Objective-c 中的 C 二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4515175/

相关文章:

ios - 按数字对字典数组进行排序

iphone - NSUserDefaults setObject 和 IntegerForKey,在同一个键上使用,如果不是,我该如何解决?

c - X11 等待并获取剪贴板文本

c - 将结构成员数组传递给 C 中的函数

javascript - 在 JavaScript 中将对象数组转换为嵌套对象

map 点的iOS雷达显示

objective-c - 具有内存存储的核心数据

c - 在 BST 中插入节点

java - 尝试创建一个充满 JButton 的框架,但我的 JButton 无法加载

数组的javascript数组