“未使用的变量”

时间:2012-12-21 00:29:14

标签: objective-c

@implementation demoScene{

-(void) initializeScene {
moon *_moon=[[moon alloc]init];
}
-(void) updateBeforeTransform: (CC3NodeUpdatingVisitor*) visitor {

    deltaTime =deltaTime+visitor.deltaTime;
    NSLog(@"delta time=%0.12f",deltaTime);
    [_moon print:deltaTime/100000];
}
@end

这是我的问题。

我想在initializeScene方法中从moon类创建一个对象,我想在updateBeforeTransform方法中向该对象发送消息。

当我输入这样的代码时,我无法向_moon对象发送消息并获取“未使用的变量”警告消息。

我知道对象超出了范围,但是如果我需要从updateBeforeTransform方法发送消息。 updateBeforeTransform方法被称为60秒钟。所以我不想在几秒钟内创建一个对象60次。

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:2)

您需要一个实例变量,而不是在initializeScene方法中创建一个新变量:

@implementation demoScene {
    moon *_moon; // You may already have this in the .h file - just have it in 1 place.
}

- (void)initializeScene {
    _moon = [[moon alloc] init]; // assign to ivar
}

- (void)updateBeforeTransform:(CC3NodeUpdatingVisitor*) visitor {
    deltaTime = deltaTime + visitor.deltaTime;
    NSLog(@"delta time=%0.12f", deltaTime);
    [_moon print:deltaTime / 100000];
}

@end

旁注 - 类名称应以大写字母开头。变量和方法名称以小写字母开头。