转自 http://blog.csdn.net/sjzsp/article/details/6947591
方法一:
-(void) viewDidLoad{
[self performSelectorInBackground:@selector(call1) withObject:nil];
}
-(void) call1{
timer1 = [NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(doSomething) userInfo:nil repeats:NO];
[[NSRunLoop currentRunLoop] addTimer:timer1 forMode:NSRunLoopCommonModes];
}
-(void) call2{
// do something
timer1 invalidate];
timer1 = nil;
}
方法二:
- (void)viewDidAppear:(BOOL)animated {
NSThread* timerThread = [[NSThread alloc] initWithTarget:self selector:@selector(timerStart) object:nil];
[timerThread start];
}
-(void)timerStart
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSRunLoop* runLoop = [NSRunLoop currentRunLoop];
timer = [[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(method) userInfo:nil repeats:YES] retain];//一定要retain,不然timerStart执行完后,NSTimer就被释放了。
[runLoop run];
[pool release];
}
- (void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
[timer invalidate];
}
方法三:
timer = [NSTimer timerWithTimeInterval:5.0 target:self selector:@selector(SendHeartBeat) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:heartTimer forMode:NSDefaultRunLoopMode];
分享到:
相关推荐
XTimer使用GCD Source解决了NSTimer中可能出现的问题。 它还实现了定时器暂停和重启的功能。 例 要运行示例项目,请克隆存储库,然后首先从Example目录运行pod install 。 要求 安装 XTimer可通过。 要安装它,只需...
本篇博客会给出在TableView中使用NSTimer或者DispatchSourcer中常见的五种方式。当然下方第一种方式是常规做法,不过也是UITableView中使用NSTimer的一个坑。其他三种方式是为了绕过这个坑的解决方案。 当然,本篇...
只需调用every()或once即可创建一个新的Timer,即使在后台线程中也是如此。 避免强烈引用目标目标,并避免NSObject继承。 支持多个观察员从计时器接收火灾事件。 无需分配新实例即可暂停,启动,恢复和重置计时器的...
弃用警告 Swift教育资料已过时,将不再维护。 跑表 2级,七个课程 引导学生更深入地思考模型,视图,控制器和用户。 教学生如何将界面元素连接到控制器动作,以及如何避免导致界面无法响应的陷阱。...
多种方法实现计时器,包括通信获取服务器端系统时间,多线程实现,NSTimer实现等等 http://blog.csdn.net/dingxiaowei2013/article/details/9864279
原因:NSTimer 默认是放到系统的主线程的,当用户操作其他主线程任务时,会造成NSTimer的线程阻塞,用户停止其他操作时又会重启NSTimer 解决:设置timer在runloop中模式为CommonModes 7. 解决轮播图片过多的性能问题...
在本文中,我们将展示如何以统一的方式在Delphi的移动,桌面和服务器平台上使用这些API,以及如何接收您已经熟悉的OnTimer()事件。 当然,可以创建自己的线程池并模拟计时器事件。 但是,操作系统已经具有用于...
程序中添加每3秒响应一次的NSTimer,当拖动tableview的时候timer可能无法响应要怎么解决? 6.runLoop是怎么响应用户操作的,具体流程是什么样的? 7.说说runLoop的几种状态? 8.runLoop的model作用是什么? 9.runLoop...
程序中添加每3秒响应一次的NSTimer,当拖动tableview的时候timer可能无法响应要怎么解决? 6.runLoop是怎么响应用户操作的,具体流程是什么样的? 7.说说runLoop的几种状态? 8.runLoop的model作用是什么? 9.runLoop...
程序中添加每3秒响应一次的NSTimer,当拖动tableview的时候timer可能无法响应要怎么解决? 6.runLoop是怎么响应用户操作的,具体流程是什么样的? 7.说说runLoop的几种状态? 8.runLoop的model作用是什么? 9.runLoop...
程序中添加每3秒响应一次的NSTimer,当拖动tableview的时候timer可能无法响应要怎么解决? 6.runLoop是怎么响应用户操作的,具体流程是什么样的? 7.说说runLoop的几种状态? 8.runLoop的model作用是什么? 9.runLoop...
程序中添加每3秒响应一次的NSTimer,当拖动tableview的时候timer可能无法响应要怎么解决? 6.runLoop是怎么响应用户操作的,具体流程是什么样的? 7.说说runLoop的几种状态? 8.runLoop的model作用是什么? 9.runLoop...
程序中添加每3秒响应一次的NSTimer,当拖动tableview的时候timer可能无法响应要怎么解决? 6.runLoop是怎么响应用户操作的,具体流程是什么样的? 7.说说runLoop的几种状态? 8.runLoop的model作用是什么? 9.runLoop...
程序中添加每3秒响应一次的NSTimer,当拖动tableview的时候timer可能无法响应要怎么解决? 6.runLoop是怎么响应用户操作的,具体流程是什么样的? 7.说说runLoop的几种状态? 8.runLoop的model作用是什么? 9.runLoop...
程序中添加每3秒响应一次的NSTimer,当拖动tableview的时候timer可能无法响应要怎么解决? 6.runLoop是怎么响应用户操作的,具体流程是什么样的? 7.说说runLoop的几种状态? 8.runLoop的model作用是什么? 9.runLoop...
程序中添加每3秒响应一次的NSTimer,当拖动tableview的时候timer可能无法响应要怎么解决? 6.runLoop是怎么响应用户操作的,具体流程是什么样的? 7.说说runLoop的几种状态? 8.runLoop的model作用是什么? 9.runLoop...
Runloop的工作:如何管理事件/消息,如何让线程在没有处理消息时休眠以避免资源占用、在有消息到来时立刻被唤醒。 Osx/ios提供了两种runloop对象 : CFRunLoopRef是在CoreFoundation框架呢,是纯C函数的API,是线程...
:Objc中的NSTimer,Swift中的Timer类。 iOS 2.0以上 计时器和是完全不同的东西。 计时器与配合使用。 计时器不是一个单独的线程,而是其执行循环中的一个滴答声。 计时器不再循环,因此必须在终止之前执行...
鹏哥哥放大镜 封装好 线程安全 无泄漏 简单易用 移植性好 使用中有问题 请前去GitHub与我联系 感谢您的使用 对您有帮助的话 送我一颗星星可好 使用简介: 1.PGGMagnigierView导入放大镜类 也可以在这里面进行镜框...
6.NSTimer定时器 准备资料: 《iOS与OS X多线程和内存管理》《52个有效方法》 实践: Swift 《objccn-swifter-tips》《objccn-advanced-swift》 UIKit UIView、UIViewController生命周期 事件响应链 UItableView优化 ...