近期有些网友想要了解performselector实现原理的相关情况,小编通过整理给您分析,同时介绍一下详解performselector应用场景有关信息。
RunLoop 学习起来是很抽象,也不好理解,所以一定多看几次,多学学才能学好!这也是中高级 iOS 必须掌握的知识点,面试中经常遇到
什么是 RunLoop?
Run 表示运行,Loop 表示循环。结合在一起就是运行循环的意思。RunLoop 就是在程序运行过程中循环做一些事情.
RunLoop 的应用范畴有哪些?
定时器 (Timer)、PerformSelector
GCD Async Main Queue
事件响应、手势识别、界面刷新
网络请求
AutoreieasePool
上面这些底层都是 RunLoop 在支撑,说白了,如果没有 RunLoop 支撑,上面的这些都无法实现。
如果没有 RunLoop 会发生什么呢?像我们的命令行项目,创建出来默认就是没有 RunLoop,请看下图
而我们 iOS 项目的 main 函数里面都有 UIApplicationMain(argc, argv, nil, appDelegateClassName);这个代码,这里就是创建了一个主线程的 RunLoop,所以我们程序不会退出,一直在运行中。我们可以大致写一下 main 函数里面的伪代码如下:
© 版权声明
本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!