腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
首页
标签
nstimer
#
nstimer
关注
专栏文章
(11)
技术视频
(0)
互动问答
(2)
如何使用NSTimer?
2
回答
nstimer
幽幽77
IT从业者
有一些使用计时器的方法: 1)预定定时器和使用选择器 NSTimer *t = [NSTimer scheduledTimerWithTimeInterval: 2.0 target: self selector:@selector(onTick:) userInfo: nil repeats:NO]; 如果将重复设置为NO,则定时器将在运行选择器之前等待2秒钟,之后将停止; 如果重复:YES,定时器将立即启动,并将每2秒重复一次调用选择器; 停止定时器,你调用定时器的无效方法:[t invalidate]; 作为一个方面的说明,而不是使用一个不重复,并在指定的时间间隔后调用选择器的计时器,你可以使用这样一个简单的语句: [self performSelector:@selector(onTick:) withObject:nil afterDelay:2.0]; 这将与上面的示例代码具有相同的效果; 但是如果要每隔第n次调用一次选择器,则使用带有重复的定时器:YES; 2)自我计划的计时器 NSDate *d = [NSDate dateWithTimeIntervalSinceNow: 60.0]; NSTimer *t = [[NSTimer alloc] initWithFireDate: d interval: 1 target: self selector:@selector(onTick:) userInfo:nil repeats:YES]; NSRunLoop *runner = [NSRunLoop currentRunLoop]; [runner addTimer:t forMode: NSDefaultRunLoopMode]; [t release]; 这将创建一个计时器,它将在您指定的自定义日期(在这种情况下,一分钟后)自行启动,并且每隔一秒重复一次 3)计划外的计时器和使用调用 NSMethodSignature *sgn = [self methodSignatureForSelector:@selector(onTick:)]; NSInvocation *inv = [NSInvocation invocationWithMethodSignature: sgn]; [inv setTarget: self]; [inv setSelector:@selector(onTick:)]; NSTimer *t = [NSTimer timerWithTimeInterval: 1.0 invocation:inv repeats:YES]; 在此之后,您需要像这样手动启动计时器: NSRunLoop *runner = [NSRunLoop currentRunLoop]; [runner addTimer: t forMode: NSDefaultRunLoopMode]; 注意,onTick:方法如下所示: -(void)onTick:(NSTimer *)timer { //do smth }...
展开详请
赞
0
收藏
0
评论
0
分享
有一些使用计时器的方法: 1)预定定时器和使用选择器 NSTimer *t = [NSTimer scheduledTimerWithTimeInterval: 2.0 target: self selector:@selector(onTick:) userInfo: nil repeats:NO]; 如果将重复设置为NO,则定时器将在运行选择器之前等待2秒钟,之后将停止; 如果重复:YES,定时器将立即启动,并将每2秒重复一次调用选择器; 停止定时器,你调用定时器的无效方法:[t invalidate]; 作为一个方面的说明,而不是使用一个不重复,并在指定的时间间隔后调用选择器的计时器,你可以使用这样一个简单的语句: [self performSelector:@selector(onTick:) withObject:nil afterDelay:2.0]; 这将与上面的示例代码具有相同的效果; 但是如果要每隔第n次调用一次选择器,则使用带有重复的定时器:YES; 2)自我计划的计时器 NSDate *d = [NSDate dateWithTimeIntervalSinceNow: 60.0]; NSTimer *t = [[NSTimer alloc] initWithFireDate: d interval: 1 target: self selector:@selector(onTick:) userInfo:nil repeats:YES]; NSRunLoop *runner = [NSRunLoop currentRunLoop]; [runner addTimer:t forMode: NSDefaultRunLoopMode]; [t release]; 这将创建一个计时器,它将在您指定的自定义日期(在这种情况下,一分钟后)自行启动,并且每隔一秒重复一次 3)计划外的计时器和使用调用 NSMethodSignature *sgn = [self methodSignatureForSelector:@selector(onTick:)]; NSInvocation *inv = [NSInvocation invocationWithMethodSignature: sgn]; [inv setTarget: self]; [inv setSelector:@selector(onTick:)]; NSTimer *t = [NSTimer timerWithTimeInterval: 1.0 invocation:inv repeats:YES]; 在此之后,您需要像这样手动启动计时器: NSRunLoop *runner = [NSRunLoop currentRunLoop]; [runner addTimer: t forMode: NSDefaultRunLoopMode]; 注意,onTick:方法如下所示: -(void)onTick:(NSTimer *)timer { //do smth }
游戏语音GVoice的ios没有回调是什么原因?
1
回答
ios
、
游戏
、
nstimer
、
定时器
1037793178
麻烦上传一下日志,需要根据日志来判断。
赞
0
收藏
0
评论
0
分享
麻烦上传一下日志,需要根据日志来判断。
热门
专栏
iOS开发~
137 文章
23 订阅
编程语言
42 文章
13 订阅
日常技术分享
397 文章
44 订阅
程序员——iOS开发
34 文章
14 订阅
浮躁的喧嚣
140 文章
24 订阅
热门
标签
更多标签
ICP备案
云服务器
对象存储
云点播
即时通信 IM
实时音视频
DNS 解析 DNSPod
内容分发网络 CDN
人脸识别
私有网络
python
java
javascript
人工智能
android
领券