2013-04-10 3 views
2

Итак, вот в чем проблема. Я пытаюсь сделать таймер для своей игры, однако он, похоже, не работает.NSTimer отвечает на uibutton

Я начал делать недвижимость для NSTimer:

@property (nonatomic) NSTimer gameTimer; 

и его синтеза:

@synthesize gameTimer = _gameTimer; 

то я использую этот метод, чтобы установить его:

-(NSTimer *) gameTimer{ 
    if (_gameTimer == nil) _gameTimer = [[NSTimer alloc]init]; 
    return _gameTimer; 
} 

однако, когда я попробуйте запустить таймер через uibutton:

- (IBAction)play:(UIButton *)sender { 

    _levelNumber = 1; 
    _en1v = -1; 
    _en2v = 1; 
    _en3v = -1; 
    [self setPath]; 
    _gameTimer = [NSTimer timerWithTimeInterval:1.0 target:self  selector:@selector(onTimer:) userInfo:nil repeats:YES]; 
    self.play.hidden = TRUE; 
} 

не работает.

Я поместил nslog в метод onTimer: и выяснил, что таймер просто не стреляет каким-то образом?

Я совершила очевидную ошибку?

ответ

1

Вы еще не запустили таймер.

Использование:

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

И при остановке (может быть в stop: методом)

[_gameTimer invalidate]; 
_gameTimer = nil; 
+0

аааа, спасибо. Я не использовал запланированный таймер, теперь его работа. –

+0

Добро пожаловать. ** С удовольствием помогите. * –

+0

Вы также можете просто '[_gameTimer fire];' поддерживать 'timerWithTimeInterval ...' – Milo

Смежные вопросы