我试图在互联网上找到这两个循环之间的区别,但没有找到。我读过一些文章,他们解释的方式是一样的。有人问我他们之间有什么区别,我说了他们之间的区别。采访者说两者不一样。所以请帮我伙计们有什么不同。任何形式的帮助都将不胜感激。
运行循环(NSRunLoop
或CFRunLoop
)是一个事件循环。应用程序的主线程运行一个运行循环;这是应用程序的主要事件循环。大多数应用程序都没有另一个运行循环(至少作为iOS SDK的用户,你看不到一个)。
如果面试官认为iOS上的事件循环和运行循环有区别,你必须问他们它们的意思,因为根据苹果的文档,它们是一样的。
https://developer.apple.com/library/ios/documentation/General/Conceptual/Devpedia-CocoaApp/MainEventLoop.html
对于每个应用程序,它应该只有一个位于主线程内的主事件循环。
我不确定面试官认为应用程序的运行循环是什么。但运行循环实际上是一个与线程绑定的概念。Each NSThread object, including the application’s main thread, has an NSRunLoop object automatically created for it as needed.
在https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSRunLoop_Class/index.html#//apple_ref/doc/uid/TP40003725
我猜主运行循环是一种事件循环。
里面有两个数字https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/TheAppLifeCycle/TheAppLifeCycle.html(图2-1和图2-2)
图2-1显示事件循环是作为控制器一部分运行的一些循环,图2-2显示主运行循环是iOS用于管理事件的循环。
抱歉我英语不好。