iOS RunLoop学习笔记

2017-03-06  本文已影响17人  CoderSJun

1.什么是RunLoop?

2.RunLoop的作用?

3有和没有RunLoop会怎么样?

有RunLoop

int main(int argc, char * argv[]) {
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

没有RunLoop

int main(int argc, char * argv[]) {
    NSLog(@"execute main function");
    return 0;
}

4.RunLoop对象

5.关于RunLoop的一些资料

6.RunLoop与线程

获得RunLoop对象

7.RunLoop相关类

CFRunLoopModeRef

Run Loop Modes 系统默认注册了5个Mode:
  1. kCFRunLoopDefaultMode:App的默认Mode,通常主线程是在这个Mode下运行

  2. UITrackingRunLoopMode:界面跟踪 Mode,用于 ScrollView 追踪触摸滑动,保证界面滑动时不受其他 Mode 影响

  3. UIInitializationRunLoopMode: 在刚启动 App 时第进入的第一个 Mode,启动完成后就不再使用

  4. GSEventReceiveRunLoopMode: 接受系统事件的内部 Mode,通常用不到

  5. kCFRunLoopCommonModes: 这是一个占位用的Mode,不是一种真正的Mode

CFRunLoopSourceRef

CFRunLoopTimerRef

CFRunLoopObserverRef

observer.png

8.RunLoop处理逻辑-官方版

RunLoop_official.png RunLoop_official2.png

9.RunLoop处理逻辑-网友整理版

RunLoop_Nets.png

10.RunLoop开发中的使用

学习笔记暂时记录到这里 后续继续记录 :)

上一篇 下一篇

猜你喜欢

热点阅读