我的IOS开发之路

The iOS Apprentice1-05 程序是如何运行的

2016-04-25  本文已影响0人  花开花落花满天

事件驱动

  1. APP由一组能够互相发送消息的组件构成,这些组件大部分由IOS提供,如button/label/viewController等。
  2. 组件之间通过传递消息来进行通信,比如上面的例子中,当按下button按钮后,button组件会给view controller发送消息,然后view controller又会给更多的组件发送消息。
  3. ios中的程序都是消息驱动的,意味着这些组件都要随时监听事件,一旦有事件发生,就要执行对应的动作。在示例APP中,button的TouchUpInside 事件,是与ViewController中的showAlert Action关联的,所以当button一旦被Touch,就会发送showAlert的消息给ViewController。ViewController执行ShowAlert,在ShowAlert中viewController会发送其他消息,如发送addAction给UIAlertController。

流程解析

消息传递图
  1. 用户点击屏幕
  2. IOS的UIKit收到这个touchEvent,并将这个TouchEvent传递给UIButton。
  3. 当手指从屏幕离开后,touchesEnded将showAlert消息发送给ViewController。
  4. viewController中执行showAlert函数,这个函数是弹出警告框,需要将presentViewController这个消息发送给对应的alert 控件(这个控件是动态创建的)。
  5. 显示完毕后返回。
  6. showAlert函数返回。
  7. 返回,继续等待下一次event发生。
上一篇下一篇

猜你喜欢

热点阅读