2013-04-10 40 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

啊啊啊,謝謝。我沒有使用計時器,現在它的工作。 – 2013-04-10 15:57:03

+0

不客氣。 **很高興爲您提供幫助* – 2013-04-10 15:57:54

+0

您也可以只做'[_gameTimer fire];'維護'timerWithTimeInterval ...' – Milo 2014-08-20 19:16:30