gpt4 book ai didi

objective-c - NSMutableArray在运行时崩溃

转载 作者:行者123 更新时间:2023-12-03 16:56:18 25 4
gpt4 key购买 nike

尝试访问已正确加载的NSMutable数组时,运行时崩溃。
这是代码

NSMutableArray *gameItems;

-(id) init
{
if( (self=[super init])) {

//initialize array
gameItems = [NSMutableArray array];

for(int i = 0; i < 3; i++)
{
GI *gameItem = [[GI alloc] init];
gameItem.image = [[CCSprite alloc] initWithFile:@"triangle.png"];
gameItem.Position = ccp(140+40*i,200);
[gameItems addObject:gameItem];
[gameItem release];
NSLog(@"%d",[gameItems count]); //SHOWS THE SIZE OF THE ARRAY INCREMENTING CORRECTLY
}
NSLog(@"%d",[gameItems count]); //show " 3 " correct !

for(GI *gameItem in gameItems)
{
[self addChild:gameItem.image];
NSLog(@"%d",[gameItems count]); //show 3 correct !
}
[self schedule:@selector(callEveryFrame:)];
}
return self;
}

- (void) callEveryFrame:(ccTime)dt
{
NSLog(@"----->%d",[gameItems count]); //CRASHES AT RUNTIME IN THIS LINE
}
@end

请有人向我解释为什么会这样。
NSMutableArray的自动发布功能可能是问题吗?

最佳答案

(根据要求重新发布)

如果您的数组gameItems是一个成员(看起来确实是),则能够通过其他函数(例如callEveryFrame)访问它,那么您肯定需要以这种方式进行初始化:gameItems = [[NSMutableArray alloc] init];

(您错过了我认为的分配)

关于objective-c - NSMutableArray在运行时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6261266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com