2016-03-02 87 views
-3

我已添加nstimer在我的app.I已设置它的重复属性为是的。我试图停止计时器,当我点击按钮,但计时器不停止在这种情况下。定时器不会停止?

image_timer_one= [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(ImageTimer:)userInfo:nil repeats:YES]; 

代码停止计时器

[image_timer_one invalidate]; 
image_timer_one=nil; 

但计时器没有stop.Please告诉我怎样才能停止计时器。

编辑: 我试图给光标动画效果,所以我设置一个新的图像时,定时器重复这里是代码。

-(void)ImageTimer:(NSTimer*)timer{ 

    if(mode_count==0) 
    { 
     if(img_time==0) 
     { 
      [self.pass_image_1 setImage:[UIImage imageNamed:@"blink_2.png"]]; 
      img_time=1; 
     } 
     else if(img_time==1) 
     { 
      [self.pass_image_1 setImage:[UIImage imageNamed:@"blink_1.png"]]; 
      img_time=0; 
     } 
    } 
} 
+0

是您的ImageTimer方法获取调用???? –

+1

可能是你的按钮IBAction为方法不会叫的同时单击按钮。在按钮操作方法中有一个断点。 –

+0

你在哪里startnto定时器和你在哪里停下来 - 你也许开始它比你停止了吗? - 或者是你不设置'image_timer_one'是否正确?做一个'断言(image_timer_one)'停止之前和'开始之前将肯定(!image_timer_one)' –

回答

0

尝试此操作并在启动计时器之前停止上一次调用ImageTimer方法的计时器操作。

if (image_timer_one != nil && [image_timer_one isValid]) { 

     [image_timer_one invalidate]; 
     image_timer_one = nil; 

    }