希望各位能支援一下我們的網站:http://t.cn/zOdAUxJ 提提意見
NSTimer是Cocoa中比較常用的定時器類,基本操作如下:
handleTimer方法可以自行定義。在需要的地方建立timer即可,handleTimer就可以每0.5秒執行一次。
例:
- (void) handleTimer: (NSTimer *) timer
{ //在這裡進行處理} NSTimer *timer; timer = [NSTimer scheduledTimerWithTimeInterval: 0.5 target: self selector: @selector(handleTimer:) userInfo: nil repeats: YES];
需要注意
1:如果不想迴圈timer, 代碼改為
repeats: NO
2.NSTimer初始化後,self的retainCount加1。
那麼,我們需要在釋放這個類之前,執行[timer invalidate];否則,不會執行該類的dealloc方法。3.遇到table拖動的時候(
uiscrollView划動時停止),timer停止
- (void)setTimer{NSTimer *timer;NSDate *date = [NSDate date];timer = [[NSTimer alloc] initWithFireDate:date interval:m_ablum.m_displayInterval target:self selector:@selector(updateTime:) userInfo:nil repeats:YES];[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];self.m_timer = timer; [timer release];}
在NSDefaultRunLoopMode模式下,沒有更新.
timer = [[NSTimer alloc] initWithFireDate:date interval:m_ablum.m_displayInterval target:self selector:@selector(updateTime:) userInfo:nil repeats:YES];
在設定為target時,其retaincount 加一.!!!!
一定注意