NStimer禁忌
2015-10-08 09:43
239 查看
NStimer有可能被delay,每次间隔的时间是不一定一样(线程堵塞),如用alloc创建,需要加入runLoop中
@autoreleasepool {
NSTimer *timer = [[NSTimer
alloc] initWithFireDate:[NSDate
dateWithTimeIntervalSinceNow:1]
interval:1
target:self
selector:@selector(timerAction:)
userInfo:nil
repeats:1];
[[NSRunLoop
currentRunLoop] addTimer:timer
forMode:NSDefaultRunLoopMode];
[[NSRunLoop
currentRunLoop] runUntilDate:[NSDate
dateWithTimeIntervalSinceNow:3]];
}
注:NSRunLoop是IOS消息机制的处理模式,NSRunLoop用来控制线程的执行和休眠
@autoreleasepool {
NSTimer *timer = [[NSTimer
alloc] initWithFireDate:[NSDate
dateWithTimeIntervalSinceNow:1]
interval:1
target:self
selector:@selector(timerAction:)
userInfo:nil
repeats:1];
[[NSRunLoop
currentRunLoop] addTimer:timer
forMode:NSDefaultRunLoopMode];
[[NSRunLoop
currentRunLoop] runUntilDate:[NSDate
dateWithTimeIntervalSinceNow:3]];
}
注:NSRunLoop是IOS消息机制的处理模式,NSRunLoop用来控制线程的执行和休眠
相关文章推荐
- APP安全测试汇总
- 火云开发课堂 - 《Shader从入门到精通》系列 第二十一节:在Shader中对3D模型进行区域遮罩
- Murano Weekly Meeting 2015.10.06
- OpenWrt的luci web管理器添加新菜单(二)
- 我试试
- linux 网卡配置详解 ifcfg-eth0
- Android 中的 Service 全面总结
- 作业1:项目范围管理作文提纲
- 如何恢复Windows引导
- 输出19行19列的星型菱形
- 一个密码锁加密应用项目源码
- PPM开源缺陷管理系统V1.5
- java se与java web项目目录结构(最后为应用SSH框架目录结构)
- genymotion device got no ip address 的解决方案
- 一个密码锁加密应用项目源码
- maven的配置
- jsp ueditor 图片在线管理图片路径
- [转][译]关于iOS和OS X废弃的API你需要知道的一切
- ASO | APP推广之ASO优化中的九大奥义。
- 如何修改通知栏颜色