【发布时间】:2012-11-05 01:18:05
【问题描述】:
如何为 NSMutableArray 填充一组容量以供以后使用?
基本上我想设置一个 NSMutableArray 来充当我的游戏对象的地图,所以我有这条线...
gameObjects = [[NSMutableArray alloc] initWithCapacity:mapWidth*mapHeight];
我曾希望创建并填充我的 MutableArray,这样我就可以使用这种索引访问它...
int ii = (cellY*mapWidth)+cellX;
NSDictionary *currentObject = [gameObjects objectAtIndex:ii];
但我刚刚了解到 initWithCapacity 不会填充数组,所以我应该创建空白对象来填充它,还是有一个 Null 可以填充它?我也可以用 2 个 for 循环来做到这一点,还是有类似 "initWith:myObject" 的指令?
我希望能够检查数组中的某个索引以查看那里是否有对象,因此我需要能够访问该索引点,并且我只能在那里有东西或我得到一个越界错误。
我将把这个 NSMutableArray 用作对象网格,它是一个组织为二维数组的一维数组,所以我需要能够用 mapWidth*mapHeight 填充它,然后计算索引并检查数组中的该索引。
我看过这里并用谷歌搜索,但找不到像我问的那样的东西。
感谢您的建议。
【问题讨论】:
-
虽然您可以使用 NSNull 或自定义类实例作为占位符,但我建议您考虑重构,以免您尝试访问未设置的对象,我的意思是您的索引可能需要更好地组织起来。
-
所以我可以检查一个对象是否在数组中的确切 x,y 位置。
标签: objective-c ios nsmutablearray