iOS NSTimer两次射击

时间:2012-05-02 10:44:51

标签: ios nstimer

您好我尝试使用NSTimer创建倒计时,并使用标签查看此内容。问题是标签在两个版本中出现了,我不知道为什么。任何想法?

继承我的代码

   - (void)viewDidLoad
   {
       NSLog(@"%@", self.chosenTime);
       [self startGame];
       [super viewDidLoad];

       NSString *timeString =  self.chosenTime;
       self.timer = [timeString intValue];
       self.countdown.text = timeString;
       // Do any additional setup after loading the view.
    }

    - (void)startGame
    {
        [self introCountdown];
        [self performSelector:@selector(goAnimation) withObject:nil afterDelay:3.0];
        NSString *timeString =  self.chosenTime;
        self.timer = [timeString intValue];
        [self performSelector:@selector(startCountdown) withObject:nil afterDelay:4.0];
    }

    - (void)startCountdown
    {
         //self.countdownTimer = [NSTimer timerWithTimeInterval:1 target:self selector:@selector(decrementTimer:) userInfo:nil repeats:YES];
         self.countdownTimer = [NSTimer scheduledTimerWithTimeInterval:1.00 target:self selector:@selector(decrementTimer:) userInfo:nil repeats:YES];
    }

    - (void)decrementTimer:(NSTimer *)timer
    {
       if(self.timer > 0)
       {
           self.timer = self.timer - 1;
           self.countdown.text = [NSString stringWithFormat:@"%d", self.timer];
       }
       else 
       {
            [self.countdownTimer invalidate];
            self.countdownTimer = nil;
        }
    }

2 个答案:

答案 0 :(得分:0)

这段代码似乎是正确的。您可能正在从其他地方更改标签的文本吗?

答案 1 :(得分:-1)

很抱歉误解,代码是正确的,它似乎是UI问题或处理其他地方的标签,如果可能的话附加你的xib源