我一直在努力解决一个问题,希望有人可以帮助我。
我有一个名为“GameObjectDefinitionTable”的类,我在其中设置了所有对象属性,该属性位于另一个名为“Product”的类中。在我的“HelloWorldScene”中,我分配了“GameObjectDefinitionTable”,它又创建了几个“Product”。像这样:
HelloWorldScene -> GameObjectDefinitionTable -> 产品
然后我想将“产品”返回给“HelloWorldScene”。但这是我遇到问题的地方。一些代码:
你好世界场景:
GameObjectDefinitionTable *god = [[GameObjectDefinitionTable alloc]init];
Product* currentProduct = [god getProductWithNum:0];
NSLog(@"currenProduct (name): %@",currentProduct.name); //Crash
游戏对象定义表:
-(void) createProducts {
Product *product;
for (int i=0; i<[allProductsWithDefinitions count];i++ ) {
product = [[Product alloc]init];
product.name = [[allProductsWithDefinitions objectAtIndex:i] objectAtIndex:0];
product.density = [[[allProductsWithDefinitions objectAtIndex:i] objectAtIndex:1] floatValue];
product.scoreValue = [[[allProductsWithDefinitions objectAtIndex:i] objectAtIndex:2] intValue];
product.fileName = [[allProductsWithDefinitions objectAtIndex:i] objectAtIndex:3];
[products addObject:product];
[product release];
}
[allProductsWithDefinitions release];
}
-(Product *) getProductWithNum:(int)tNum {
Product *tempProduct;
tempProduct = [products objectAtIndex:tNum];
return tempProduct;
[tempProduct release];
}
如果我登录该类,则“GameObjectDefinitionTable”中的数组和所有内容都可以正常工作。
非常感谢您的回答:)