NSTimer的用法

本文介绍了Objective-C中定时器(NSTimer)的使用方法,包括两种初始化方式:通过timerWithTimeInterval和scheduledTimerWithTimeInterval方法创建定时器。文章还讨论了如何将定时器添加到运行循环(runloop)中以及如何立即触发定时器和取消定时器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OC中的Timer的用法非常简单。首先初始化,

   常见两个静态方法得到NSTimer对象。

+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)interval target:(id)mTarget Target selector:(SEL)mSelector userInfo:(id)mUserInfo repeats:(BOOL)yesOrNo;   //interval时间间隔  //mTarget就是发送对象,就是这个定时器给谁用

+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)interval target:(id)mTarget selector:(SEL)mSelector  userInfo:(id)mUserInfo repeats:(BOOL)yesOrNo;

 NOTE:不用scheduled方式初始化的,需要手动addTimer:forMode: 将timer添加到一个runloop中。而scheduled的初始化方法将以默认mode直接添加到当前的runloop中.

这样做完之后你这个定时器就会按照你设置的时间间隔执行SEL设置的方法,至于是否重复执行,看你repeats参数

那么开启了定时器,负责的程序员肯定会想到怎么关闭呢,当然API上也提供了方法,[timer invalidate];就可以把timer从loop里移除了。当然调用这个方法之前最好先判断一下,如 if(YES == [timer isValid]) {};

另外,有时我们需要立即触发定时器,不想等待那个时间间隔,timer对象提供了一个fire方法完成你的需求


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值