NSRunLoop是什么


NSRunLoop

其实它比较像Android的Looper每个线程中都有自己的Looper,只是主线程及UI不用自己创建系统已经帮我们创建好了。
NSRunLoop 就是它寄宿线程的 监督者 ,负责24小时监督它的 宿主 线程的一举一动。
一.作用
1.程序运行一直接受用户输入
2.决定何时处理何种Event
3.MessageQueue
二.组成
1.Source输入源
2.Observer观察者
3.定时器NSTimer
三.使用
~
CADisplayLink *cADisplayLink=[CADisplayLink displayLinkWithTarget:self selector:@selector(timerDoSelector)];
[cADisplayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:UITrackingRunLoopMode];//这样selector就会重复的周期性执行了
//停止执行
[cADisplayLink invalidate];
cADisplayLink=nil;
~

~~~
NSTimer *timer=[NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(timerDoSelector) userInfo:nil repeats:YES];
//默认会把NSTimer放入到MainRunLooper中执行
NSTimer *timer2=[NSTimer timerWithTimeInterval:1.0f target:self selector:@selector(timerDoSelector) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:timer2 forMode:NSDefaultRunLoopMode];
[[NSRunLoop currentRunLoop] addTimer:timer2 forMode:UITrackingRunLoopMode];
[[NSRunLoop currentRunLoop] run];//同时让runLoop跑起来
~~~
接下来是核心动画的研究.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值