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