2011-11-25 64 views
1

不工作在我的应用程序,定时器运行良好的的iOS 4.2,但在iOS 5

我有3片,

在第一个选项卡我有当按下启动按钮时启动一个定时器。

当我们来自另一个选项卡时,计时器没有得到更新。

对于更新定时器,我用下面的代码:

myticker = [NSTimer scheduledTimerWithTimeInterval:(1.0) target:self selector:@selector(ShowActicity) userInfo:nil repeats:YES]; 


-(void)ShowActicity 
{ 
    Here I have the ticks,minute,hour values 


     ticks =ticks + 1; 
     if(ticks > 59) 
     { 
      minute = minute + 1; 
      ticks = 0; 
      if(minute > 59) 
      { 
       hour = hour + 1; 
       minute = 0; 
       if(hour > 23) 
       { 
        hour = 0; 
       } 
      } 
     } 


     [lbl_timer setText:[NSString stringWithFormat:@"%02d:%02d:%02d",hour,minute,ticks]]; 


} 

我的计时器更新罚款基地SDK的iOS 4.2,但在iOS 5 不工作出了什么问题?

回答

0

这可能不是你的问题,但选择不正确,从Apple文档:

选择器必须具有以下特征:

- (void)timerFireMethod:(NSTimer*)theTimer 

所以你的NSTimer调用应该是(注意尾随“:”

myticker = [NSTimer scheduledTimerWithTimeInterval:(1.0) target:self selector:@selector(ShowActicity:) userInfo:nil repeats:YES]; 

和目标方法具有签名:

- (void)ShowActicity:(NSTimer*)theTimer 

请注意,Objective-C约定使用首字母小写字母命名方法,并带有大写字母。

+0

谢谢回答,我已经与改变方法尝试这 - (无效)ShowActicity 到 - (空)ShowActicity:(的NSTimer *)theTimer,但它不工作。 –

0

在4.3项目main.m中替换为ios5 main.m文件。在的appdelegate改变

@interface SimpleTimerAppAppDelegate : NSObject 

@interface SimpleTimerAppAppDelegate : UIResponder 
相关问题