RunLoop 总结及应用
什么是RunLoop 注释:和ppt上总结的一样 和代码一块去理解 从字面上看 运行循环 跑圈 循环 基本作用 保持程序的持续运行(比如主运行循环) 处理App中的各种事件(比如触摸事件、定时器事件、Selector事件) 节省CPU资源,提高程序性能:该做事时做事,该休息时休息 存在价值 没有RunLoop 有RunLoop main函数中的RunLoop(主运行循环) 主运行循环 第14行代码的UIApplicationMain函数内部就启动了一个RunLoop 所以UIApplicationMain函数一直没有返回,保持了程序的持续运行 这个默认启动的RunLoop是跟主线程相关联的 RunLoop对象 iOS中有2套API来访问和使用RunLoop Foundation NSRunLoop Core Foundation CFRunLoopRef NSRunLoop和CFRunLoopRef都代表着RunLoop对象 NSRunLoop是基于CFRunLoopRef的一层OC包装,所以要了解RunLoop内部结构,需要多研究CFRunLoopRef层面的API(Core Foundation层面) RunLoop资料 苹果官方文档 https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual