2010-07-03 60 views
0

請幫我,朋友。我完成了一個步驟計數器。我現在的問題是我的計時器是從加速度計開始的,但是當加速度計停止時它不會停止。(計步器是一個應用程序,用戶可以在其中計算他的\步數。通過這些信息,用戶可以計算其消耗的總卡路里數,總時間)。問題是我的計時器工作不正常。請幫助我。在我的計步器應用程序中,爲什麼我的NSTimer在我需要時停止?

這裏是代碼

if ( fabsf(acceleration.y) > progressAsInt) { 
     steps++; 
     timer1 = [NSTimer scheduledTimerWithTimeInterval:(.01) target:self selector:@selector(timepassed) userInfo:nil repeats:YES]; 


     NSString *stepcount = [NSString stringWithFormat:@"%d", steps]; 
     [stepstaken setText:stepcount]; 

     //it's for the MPH speed calculation formula changes can be happen 
     /*formula mph= miles/hour 
     0.5miles 
     10minutes = 10/60 hours = 0.1667 
     mph=0.5/0.1667*/ 

     mspeed = (TotalDistance *3600)/60; 
     //mspeed =(steps*steplength)/63360*60; 
     NSString *speed = [NSString stringWithFormat:@"%2.2f",mspeed]; 
     [mSpeed setText:speed]; 


     //this for calculation of miles 
     TotalDistance = (steps *steplength)/1500; 
     NSString *distance =[NSString stringWithFormat:@"%5.3f",TotalDistance]; 
     [miles setText:distance]; 


     if (steps%20==0) 
     { 
      //And this for calorie calculation 
      cal++; 

      NSString *cal1 = [NSString stringWithFormat:@"%d",cal]; 
      [calorie setText:cal1]; 
     }else{ 
      [timer1 invalidate]; 

     }   
} 
+4

也許考慮編輯你的舊問題,而不是問新的問題:http://stackoverflow.com/questions/3171716/pedometer-app-in-iphone 另外,請接受你的舊問題的答案。 – Eiko 2010-07-03 14:50:09

+0

@ Harishdy007:@Eiko是對的,你真的應該編輯舊的問題。由於它沒有任何答案,我繼續前進,只是刪除它。 – 2010-07-03 14:51:42

回答

0

我定你的代碼以匹配其結構的壓痕。如果您在加速度低於閾值時嘗試使計時器無效,那麼現在應該很明顯else位於錯誤的地方。

相關問題