1. 程式人生 > >iOS 定時器(NSTimer)的使用

iOS 定時器(NSTimer)的使用

呼叫一次計時器方法: 
myTimer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(scrollTimer) userInfo:nil repeats:NO];  


重複呼叫計時器方法:
timer =  [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(function:) userInfo:nil repeats:YES];  


注意:將計數器的repeats設定為YES的時候,self的引用計數會加1。因此可能會導致self(即viewController)不能release,所以,必須在viewWillAppear/viewDidAppear的時候,將計數器timer開啟;在viewWillDisappear/viewDidDisappear的時候,將計數器timer關閉,否則可能會導致記憶體洩露。


//關閉定時器 :停止timer的執行,但這個是永久的停止:
[timer invalidate];


先停止,然後再某種情況下再次開啟執行timer,可以使用下面的方法:
首先關閉定時器不能使用上面的方法,應該使用下面的方法:
//關閉定時器  
[myTimer setFireDate:[NSDate distantFuture]];
然後就可以使用下面的方法再此開啟這個timer了:


//開啟定時器  
[myTimer setFireDate:[NSDate distantPast]];