5

在 iPhone 开发中,我遇到过这些名为

事件循环,运行循环

. 有人可以解释一下它们是什么吗?

4

2 回答 2

8

与许多其他 GUI 系统一样,您为 iPhone 应用程序编写的代码会运行到系统提供的循环中。在编写没有 GUI 的程序时,通常会使用 main() 函数或类似函数。在 iPhone 上你没有,因为它是由系统提供的,它会调用事件循环。您提供的只是对事件做出反应的回调。

循环负责获取硬件事件作为触摸等,调用您的代码和 API 代码来绘制窗口,一些内存管理等等。这就是为什么您不必自己轮询这些事件的原因。

于 2010-10-13T05:13:50.423 回答
2

我认为这个苹果文档会解释更多:

事件循环只是一个运行循环:一个事件处理循环,用于调度工作并协调从附加到运行循环的各种输入源接收事件。每个线程都可以访问一个运行循环。在除主线程之外的所有线程中,运行循环必须由您的代码手动配置和运行。在 Cocoa 应用程序中,主线程的运行循环(主事件循环)由应用程序对象自动运行。主事件循环的不同之处在于它的主要输入源从操作系统接收由用户操作生成的事件——例如,点击视图或使用键盘输入文本。

https://developer.apple.com/library/ios/documentation/General/Conceptual/Devpedia-CocoaApp/MainEventLoop.html

于 2015-10-01T13:14:06.067 回答