iOS-NSTimer-pause-暂停-引用循环
2016-07-19 11:36
316 查看
7月26日更新:
今天更新的主要目的是因为暂停!!!!
注:不推荐使用,并不是这样有错,而是因为这样写代码的规范问题,代码要有可读性,遵循代码即文档,使用暂停在团队合作中可能会带来误会,非必要不建议使用,使用注意添加注释!!!
NSTimer,是个有爱有恨的类,用起来方便,但是随随便便就可能引用循环了,内存泄露自然不用说了;
怎么方便的使用NStimer,这里小小的总结了下,写的不对的欢迎指出。
首先是习惯问题,为了防止写错,我一般会把NSTimer相关的封到单独的函数里面。
如下:
还有就是,可以尝试一次初始化,一直使用,直到dealloc释放,所以就需要暂停了,
方法如下:
设置触发时间[NSDate distantFuture],就暂停了,怎么暂停的呢,触发时间distantFuture,不懂自己翻译去~~~
怎么开始?[NSDate date],立刻触发就好了!
今天更新的主要目的是因为暂停!!!!
注:不推荐使用,并不是这样有错,而是因为这样写代码的规范问题,代码要有可读性,遵循代码即文档,使用暂停在团队合作中可能会带来误会,非必要不建议使用,使用注意添加注释!!!
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
- iOS开发之打包测试包
- iOS 动画队列-仿映客刷礼物效果
- iOS中搜索框的实现
- iOS 子视图超出父视图范围点击事件处理!
- iOS sdl使用
- iOS开发的10个奇袭
- iOS 关于适配
- iostream和iostream.h的区别 && VC中iostream的区别
- iOS蓝牙Ble开发
- iOS标准时间与时间戳相互转换
- DM814X A8核sysbios下不能访问外设地址(MMU的配置)
- IOS开发之由身份证号码提取性别的实现代码
- iOS中几种数据持久化方案
- iOS单例模式的官方写法
- iOS开发IPV6 被拒解决办法
- iOS开发单例模式的官方写法
- iOS将image转90,180,270度的方法
- iOS延时和取消延时
- iOS开发----Xcode7升级之后插件无法使用与不小心点击Skipbundle的解决办法【转载】