我正在为ios开发一个版本的snake,我希望能够使用NSMutableArray存储由“SAFSnakePart”制作的蛇。
但是,每当我将对象设置为等于数组中的某个点并稍后调用它时,它就无法使用。例如:
[self addChild: [snake objectAtIndex:0]];
引发错误'Attemped to add nil node'。
这是我将节点添加到数组的地方:
snakeHead = [[SAFSnakePart alloc] initWithImageNamed:@"snakeHead.png"];
[snake addObject:snakeHead];
如何正确使用数组并访问其中的对象?
答案 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”。 希望它有所帮助!