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