runloop的mode作用是什么?

线程的运行需要不同的模式,去响应各种不同的事件,去处理不同情境模式。

  1. NSDefaultRunLoopMode: 大多数工作中默认的运行方式。
  2. NSConnectionReplyMode: 使用这个Mode去监听NSConnection对象的状态,我们很少需要自己使用这个Mode。
  3. NSModalPanelRunLoopMode: 使用这个Mode在Model Panel情况下去区分事件(OS X开发中会遇到)。
  4. UITrackingRunLoopMode: 使用这个Mode去跟踪来自用户交互的事件(比如UITableView上下滑动)。
  5. GSEventReceiveRunLoopMode: 用来接受系统事件,内部的Run Loop Mode。
  6. NSRunLoopCommonModes: 这是一个伪模式,其为一组run loop mode的集合。如果将Input source加入此模式,意味着关联Input source到Common Modes中包含的所有模式下。在iOS系统中NSRunLoopCommonMode包含NSDefaultRunLoopMode、NSTaskDeathCheckMode、UITrackingRunLoopMode.可使用CFRunLoopAddCommonMode方法向Common Modes中添加自定义mode。

比如可以优化tableview的时候可以设置UITrackingRunLoopMode下不进行一些操作,比如设置图片等。

你可能感兴趣的:(runloop的mode作用是什么?)