iOS开发--app是怎样运行的

在本文开始之前先做这样一个app,在屏幕中间创建一个按钮"Hit Me",点击出后出现一个alert
          

How does an app work?

app本质上是由可以相互发送消息(message)的对象(objects)构成的。我们app中的许多对象都是由iOS提供的,举个例子,按钮----UIButton对象,还有alert popup - UIAlertController 对象。还有一些对象我们将自己对它进行编程,比如 view controller。

这些对象通过相互传递消息来进行交流。例如,当用户在app中点击 Hit Me 按钮时,这个 UIButton 对象发送消息到你的 view controller。In turn the view controller may message more objects.

在iOS中,apps是事件驱动的,这意味着这些对象监听确切的事件发生然后处理他们。

这听起来或许有些奇怪,一个app花费大部分时间去...绝对不是。它仅仅是在那儿等待什么事情发生。当用户点击屏幕时,这个app行动起来只用一些毫秒(a few milliseconds)然后它返回去再次睡眠直到下个事件到达。

Your part in this scheme is that you write the source code that will be performed when your objects receive the messages for such events.





  在这个app中,这个按钮的Touch Up Inside 事件是与这个 view controller的 showAlert action联系起来的。所以当这个按钮识别到它已经被点击了,它发送 showAlert 消息给你的view controller.

在这个 showAlert 里,view controller 给UIAlertController对象发送其它的消息,addAction。并且展示这个alert,view controller发送presentViewController这个消息。

你的整个app将由用这种方式交流的对象构成。

Maybe you have used PHP or Ruby scripts on your web site. This event-based model is different from how a PHP script works. The PHP script will run from top-to-bottom,executing the statements one-by-one until it reaches the end and then it exits.

在另一方面,apps直到用户终止它们或者程序崩溃才会退出。它们花大部分时间等待事件的输入,然后它们处理这些事件并且返回睡眠。

在用户的输入中,大部分触摸和点击的形式是你app最重要的事件源头。但是也有其它类型的事件。例如,操作系统将会修改你的app当用户收到来电的时候、当它不得不重绘屏幕的时候、当一个计时器计时结束的时候,还有更多。

你app做的每一件事情都是由某些事件触发的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值