每当我尝试下载一个大文件的背后UIScrollView
,MPMapView
或者什么的,下载过程被当我触摸iPhone屏幕停止。值得庆幸的是,Jörn的一篇很棒的博客文章提出了一种替代方法,NSRunLoopCommonModes
用于连接。
这让我详细了解了两种模式,即NSDefaultRunLoopMode和NSRunLoopCommonModes,但是苹果文档并没有详细说明,除了说
NSDefaultRunLoopMode
处理NSConnection对象以外的输入源的模式。这是最常用的运行循环模式。
NSRunLoopCommonModes
使用此值作为模式添加到运行循环的对象由已声明为“公共”模式集的成员的所有运行循环模式监视;有关详细信息,请参见CFRunLoopAddCommonMode的描述。
CFRunLoopAddCommonMode
源,计时器和观察者被注册到一个或多个运行循环模式,并且仅在运行循环以其中一种模式运行时运行。通用模式是一组运行循环模式,您可以为其定义一组由这些模式共享的源,计时器和观察器。例如,您无需将源注册到每个特定的运行循环模式,而只需将其注册到运行循环的公共伪模式一次,它将在公共模式集中的每个运行循环模式下自动注册。同样,当将一种模式添加到一组公共模式时,任何已注册到该公共伪模式的源,计时器或观察者都将添加到新添加的公共模式中。
谁能用人类语言解释两者吗?