iOS中的RunLoopoop
使用场景线程
1.保持线程的存活,而不是线性的执行完任务就退出了orm
<1>不开启RunLoop的线程server
<2>开启RunLoop的线程文档
(1)实验用self来持有子线程form
(2)实验让线程不结束任务致使进入死亡状态]循环
(3)Event Loop模式方法
(4)初步尝试使用RunLoopim
(5)初体验产生的疑问思考
①为何老是要把RunLoop和线程放在一块儿来说?
②如何建立RunLoop?
③线程默认不开启RunLoop,为何咱们的App或者说主线程却能够一直运行而不会结束?
④RunLoop能正常运行的条件是什么?
⑤除了[runLoop run]还有那些方法启动RunLoop?
(6)初体验结论
2.保持线程的存活后,让线程在咱们须要的时候响应消息。
3.让线程定时执行某任务(Timer)
<1>初识NSTimer遇到的坑
<2>使用NSTimer遇到的坑
<3>NSTimer致使的ViewController没法释放问题
<4>performSelecter:afterDelay:
4.监听Observer达到一些目的
关于RunLoop的释放问题(RunLoop带autoreleasepool的正确写法)
<1>分析
<2>须要用while循环控制的RunLoop
<3>不须要用while循环控制的RunLoop
<4>关于主线程中autoreleasepool的题外话
关于子线程RunLoop切换Mode的思考
本文最大干货,子线程中模拟主线程DefaultMode与TrackingMode的切换,长代码预警
参考文档
<1>RunLoop
<2>autoreleasepool