![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
runloop
对酒当歌人生几何1234
对酒当歌
展开
-
runloop 和线程有什么关系
每条线程都有唯一的一个RunLoop 对象与之对应的主线程的 RunLoop是自动创建并启动子线程的 RunLoop需要手动创建子线程的 RunLoop创建步骤如下:在子线程中调用[NSRunLoop currentRunLoop]创建RunLoop 对象(懒加载,只创建一次)获得RunLoop对象后要调用run方法来启动一个运行循环//启动Ru原创 2016-07-17 08:52:55 · 369 阅读 · 0 评论 -
runloop 的 mode 作用是什么
用来控制一些特殊操作只能在指定模式下运行,一般可以通过指定操作的运行mode来控制执行时机,以提高用户体验系统默认注册了 5 个 ModekCFRunLoopDefaultMode:App的默认Mode,通常主线程是在这个Mode下运行,对应 OC中的:NSDefaultRunLoopModeUITrackingRunLoopMode:界面跟踪Mode,原创 2016-07-17 08:55:07 · 2064 阅读 · 0 评论 -
以+scheduledTimerWithTimeInterval... 的方式触发的 timer,在滑动页面上的列表时, timer 会暂定回调,为什么?如何解决?
这里强调一点:在主线程中以+scheduledTimerWithTimeInterval...的方式触发的timer默认是运行在 NSDefaultRunLoopMode模式下的,当滑动页面上的列表时,进入了UITrackingRunLoopMode模式,这时候 timer就会停止可以修改 timer 的运行模式为NSRunLoopCommonModes,这样定时器就可原创 2016-07-17 08:56:37 · 2322 阅读 · 0 评论 -
猜想 runloop 内部是如何实现的?
从字面意思看:运行循环、跑圈;本质:内部就是do-while 循环,在这个循环内部不断地处理各种事件(任务),比如:Source、Timer、Observer;每条线程都有唯一一个RunLoop 对象与之对应,主线程的 RunLoop默认已经启动 子线程的 RunLoop需要手动启动;每次RunLoop启动时,只能指定其中一个Mod原创 2016-07-17 08:58:09 · 964 阅读 · 0 评论 -
UITableViewCell高度自适应探索--AutoLayout结合Frame
之前我们已经对Cell高度自适应进行了几次研究:UITableViewCell高度自适应探索--UITableView+FDTemplateLayoutCell地址: http://www.jianshu.com/p/7839e3a273a6UITableViewCell高度自适应探索--cell预估高度(一)地址: http://www.jianshu.com/p/原创 2016-07-16 22:08:31 · 353 阅读 · 0 评论