应用的所有可执行代码都位于函数中,并且函数会被其他地方所调用。其中会有一个函数调用另一个函数,不过第一个函数是被谁调用的呢?从根本上来说,你的代码是如何运行的呢?正如第6章所述,当应用启动后,“UIApplicationMain就在那儿,等待用户的操作,维护事件循环,并且响应用户的动作”。
事件循环是关键。运行时会监控并等待某些事情的发生,比如,用户在屏幕上的手势操作,或是应用生命周期某个特定的阶段出现。当这样的事情发生时,运行时会调用你的代码。不过,只有准备好了代码,运行时才能调用。你的代码就像是一个按钮面板一样,等待着Cocoa按下。如果发生了Cocoa认为你的代码需要知道并响应的事情,那么它就会按下正确的按钮,前提是按钮得在那儿。
Cocoa编程的艺术在于要知道Cocoa想要做什么。在一开始组织代码时就要知道Cocoa的行为。Cocoa对于如何以及何时向你的代码分发消息做出了一些承诺。这是Cocoa的事件。你知道这些事件是什么,当Cocoa分发这些事件时,你的代码需要对其做出响应。
文档中列出了你所能接收到的具体事件。如何以及何时分发事件,你的代码以何种方式接收这些事件的整体架构是本章将要介绍的主题。