NSRunLoop_mode_timer

1.NSRunLoop  相似于do()while{}  保证应用程序不被关闭

ios 中runLopp 两种方式 

1: NSRunLoop (oc)   2:CFRunLoop (c语言)

NSRunLoop  五种模式

1:KCFRunLoopDefaultMode     默认mode  主线程是在该mode下运行的

2:UITrackingRunLoopMode       界面跟踪mode  用于scrollerview触摸滑动,保证界面滑动时 不受其它mode的影响

3:UIIntializationRunLoopMode     在刚启动app用的第一个mode  启动完后就不再使用

4:GSEventReceiveRunLoopMode  接受系统内部事件mode  不常用

5:KCFRunLoopCommonModes     不是一个真正的mode  是一个占位用的mode包含(1,2)两种


NSTimer   初始化两种方式

1: NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:<#(NSTimeInterval)#> target:<#(nonnull id)#> selector:<#(nonnull SEL)#> userInfo:<#(nullable id)#> repeats:<#(BOOL)#>     该方式创建时默认加到一个runLoop中   也就是相当于mainRunLoop中   当进行触摸滑动时会停止运行       原因:当触摸滑动时系统会自动切换到mainmode, runloop只要同时接受一种mode    


2: NSTimer *timer = [NSTimer timerWithTimeInterval:<#(NSTimeInterval)#> target:<#(nonnull id)#> selector:<#(nonnull SEL)#> userInfo:<#(nullable id)#> repeats:<#(BOOL)#>]

该方式没有加入runloop 将不会自动启动  需手动加入到runloop中              第5种模式下可同时在(1,2)时周时运行


-------------------RunLoop相关类-----------------

1.CFRunLoopSourceRef  是事件源  也可称为输入源   按官方文档可分为三类:

i: Port-Based Sources  从其它线程或内核发出的

ii: Custom Input Sources  自定义的

iii: Cocoa PerForm Selector Sources  线程通信时




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值