码迷,mamicode.com
首页 > 移动开发 > 详细

iOS-NSTimer-pause-暂停-引用循环

时间:2016-07-19 13:17:00      阅读:381      评论:0      收藏:0      [点我收藏+]

标签:

NSTimer,是个有爱有恨的类,用起来方便,但是随随便便就可能引用循环了,内存泄露自然不用说了;

怎么方便的使用NStimer,这里小小的总结了下,写的不对的欢迎指出。

首先是习惯问题,为了防止写错,我一般会把NSTimer相关的封到单独的函数里面。

如下:

- (void)initTimer
{
    if(_timer)
    {
        [self clearTimer];
    }
    _timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(test) userInfo:nil repeats:YES];
}
- (void)clearTimer
{
    [_timer finalize];
    _timer = nil;
}
- (void)test
{
    NSLog(@"Timer!");
}

还有就是,可以尝试一次初始化,一直使用,直到dealloc释放,所以就需要暂停了

方法如下:

- (void)stratAnimationTimer
{
    [_animationTimer setFireDate:[NSDate date]];
} 
- (void)pauseAnimationTimer
{
    [_animationTimer setFireDate:[NSDate distantFuture]];
}

设置触发时间[NSDate distantFuture],就暂停了,怎么暂停的呢,触发时间distantFuture,不懂自己翻译去~~~

怎么开始?[NSDate date],立刻触发就好了!

iOS-NSTimer-pause-暂停-引用循环

标签:

原文地址:http://www.cnblogs.com/kongkaikai/p/5684122.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!