2010-07-24 122 views
0

我的代码有问题。 我午餐的线程和这个线程有一个NSTimer。 我必须记住一个可变位置,但是当我重复这个方法时,我会重新初始化这些位置,并且我失去了进度。 你能帮我吗? 感谢线程和初始化问题

我的代码:(这些是不是我很代码,但也是同样的情况我想remeber了我的号码,但重新启动的方法时,该程序重新初始化I)

-(void)callDectectionMove:(Movement*)tempMovement{ 


    int i = 0; 

    i++; 

    if(i == 5) 
     return; 

    [NSTimer scheduledTimerWithTimeInterval:timeToCatch target:self selector:@selector(detectMovement) userInfo:nil repeats:NO];  
} 




-(int)detectPositionMovement:(float)cordX:(float)cordY:(float)cordZ:(float)sensibility{ 


    [NSThread detachNewThreadSelector:@selector(callDectectionMove) toTarget:self withObject:tempMovement]; 

} 

回答

1

我被定义为本地callDectectionMove并且很快你调用callDectectionMove new我将被初始化。

对你想使用相同的i对象的每次调用,那么你已经使用静态诠释我。

+0

请问您可以发布简单的代码吗? – zp26 2010-07-24 12:38:41

+0

现在你有 “int i = 0;” 将其写为“static int i = 0;” - >在这种情况下,只有第一次我被初始化为0。 – 2010-07-24 12:45:20