在Objective C中遇到数组问题

时间:2014-03-15 02:58:22

标签: objective-c arrays

我正在为ios开发一个版本的snake,我希望能够使用NSMutableArray存储由“SAFSnakePart”制作的蛇。

但是,每当我将对象设置为等于数组中的某个点并稍后调用它时,它就无法使用。例如:

        [self addChild: [snake objectAtIndex:0]];

引发错误'Attemped to add nil node'。

这是我将节点添加到数组的地方:

snakeHead = [[SAFSnakePart alloc] initWithImageNamed:@"snakeHead.png"];
[snake addObject:snakeHead];

如何正确使用数组并访问其中的对象?

1 个答案:

答案 0 :(得分:1)

我相信您的问题是您尚未初始化数组snake,这就是[snake objectAtIndex:0]nil的原因。

在将对象添加到aray之前,首先需要对其进行初始化。 E.g。

NSMutableArray *snake = [NSMutableArray new];
SAFSnakePart * snakeHead = [[SAFSnakePart alloc] initWithImageNamed:@"snakeHead.png"];
[snake addObject:snakeHead];
NSLog(@"The number of snake parts is: %d", snake.count);

在这种情况下应该打印“蛇形部件的数量是:1”。 希望它有所帮助!