本文主要是介绍iOS RunLoop,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一:什么是Runloop
Runloop,正如其名,loop表示某种循环,和run放在一起就表示一直在运行着的循环
二:Runloop的创建?
iOS并没有提供Runloop的创建方法,因为创建了现场自然会有一个Runloop. 所以只有获取Runloop的方法:
NSRunLoop * runloop = [NSRunLoop currentRunLoop];
//看源码,runloop可以做很多操作,例如我们熟悉的把NSTimer添加到Runloop里
[runloop addTimer: forMode: ];
以下是Xcode复制的部分源码:
三:Runloop 可以做什么?
crash 起死回生
线程保活
四:线程跟Runloop有什么关系?
线程和Runloop是一一对应的关系,且它俩是以键值对的方式存储在一个全局的可变字典里,key为线程,value为Runloop
详情可看这篇文章:https://zhuanlan.zhihu.com/p/111544827
这篇关于iOS RunLoop的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!