尊敬的好人,NSDefaultRunLoopMode VS NSRunLoopCommonModes
就像是最後一次,我在此帶來了一個問題,我最近在跌倒。我希望那裏有人能夠給我一些啓示。
每當我嘗試下載UIScrollView
,MPMapView
或其他東西后面的大文件時,只要我觸摸iPhone屏幕,下載過程就會暫停。值得慶幸的是,一篇由Jörn撰寫的博客帖子提出了一個替代方案,使用NSRunLoopCommonModes
進行連接。
那讓我看看這兩種模式,NSDefaultRunLoopMode和NSRunLoopCommonModes的細節,但蘋果的文檔不會善待解釋,除了說
NSDefaultRunLoopMode
的方式處理其他輸入源比NSConnection對象。 這是最常用的運行循環模式。
NSRunLoopCommonModes
對象添加到使用這個值作爲模式由已被聲明爲組的「共同的」模式中的成員的所有運行的循環模式監視的運行循環;見CFRunLoopAddCommonMode的說明了解詳情。
CFRunLoopAddCommonMode
來源,定時器s,並且觀察者會註冊到一個或多個運行循環模式,並且只有在運行循環以這些模式之一運行時纔會運行。常用模式是一組運行循環模式,您可以爲其定義由這些模式共享的一組源,定時器和觀察器。例如,不要將源註冊到每個特定的運行循環模式,而是將其註冊一次到運行循環的公共僞模式,並且將在共模模式下的每個運行循環模式中自動註冊。同樣,當模式被添加到一組共同模式時,已經註冊到公共僞模式的任何源,定時器或觀察者都被添加到新添加的共模中。
誰能請解釋人類語言的兩個?
親愛的Viggio24,非常感謝你對這個乾淨,精確的解釋。我會要求Apple將你的評論加入他們的API指南。 ;) – Stkim1
我upvoted你的答案,因爲是絕對清楚!感謝您分享您的知識。 –
** viggio24 **的回答是完美的。對於那些感興趣的人,我會指出**來自WWDC 2010的**會話208(適用於iPhone OS的網絡應用程序,第2部分)**包含運行循環介紹。如果你有興趣看看。希望能幫助到你。 –