iphone ios timer NStimer 使用教程

来源:互联网 发布:mysql官网无法访问 编辑:程序博客网 时间:2024/05/17 08:04

希望各位能支持一下我们的网站: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 加一.!!!!
一定注意

原创粉丝点击