美文网首页
iOS 应用程序的生命周期

iOS 应用程序的生命周期

作者: Nidalee丶 | 来源:发表于2015-12-19 15:25 被阅读71次

app应用程序是由 自己编写代码+系统框架(system frameworks)构成

  • Main函数入口

1.从可用Storyboard文件加载用户界面
2.调用AppDelegate自定义代码来做一些初始化设置
3.将app放入Main Run Loop环境中来响应和处理与用户交互产生的事件

  • 应用程序的构架

iOS应用程序都遵循Model-View-Controller的架构,Model负责存储数据和处理业务逻辑,View负责显示数据和与用户交互,Controller是两者的中介,协调Model和View相互协作。它们的通讯规则如下

1.Controller能够访问Model和View,Model和View不能互相访问


2.当View与用户交互产生事件时,使用target-action方式来处理

3.当View需要处理一些特殊UI逻辑或获取数据源时,通过delegate或data source方式交给Controller来处理


4.Model不能直接与Controller通信,当Model有数据更新时,可以通过Notification或KVO (Key Value Observing)来通知Controller更新View

MVC模式下iOS应用程序有哪些关键对象以及它们职责

  • UIApplication对象

用户与iOS设备交互时产生的事件(Multitouch Events,Motion Event,Remote Control Event)交由UIApplication对象来分发给control objects(UIControl)对应的target objects来处理并且管理整个事件循环,而一些关于app运行时重要事件委托给app delegate来处理。

  • App delegate对象

App delegate对象遵循UIApplicationDelegate协议,响应app运行时重要事件(app启动、app内存不足、app终止、切换到另一个app、切回app),主要用于app在启动时初始化一些重要数据结构;例如,初始化UIWindow,设置一些属性,为window添加rootViewController。

  • View controller对象

View Controller有一个view属性是view层次结构中的根view,你可以添加子view来构建复杂的view;controller有一些viewDidLoad、viewWillAppear等方法来管理view的生命周期;由于它继承UIResponder,所有还会响应和处理用户事件。

  • Documents和data model对象

data model对象主要用来存储数据。例如,饿了么app在搜索切换地址后,有历史记录搜索地址历史,当app下次启动时,读取和显示搜索地址历史。
document对象(继承UIDocument)用来管理一些或所有的data model对象。document对象并不是必须的,但提供一种方便的方式来分组属于单个文件或多个文件的数据。

  • UIWindow对象

UIWindow对象位于view层次结构中的最顶层,它充当一个基本容器而不显示内容,如果想显示内容,添加一个content view到window。
它也是继承UIResponder,所以它也是会响应和处理用户事件。

  • View、control、layer对象

View对象可以通过addSubview和removeFromSuperview 等方法管理view的层次结构,使用layoutIfNeeded和setNeedsLayout等方法布局view的层次结构,当你发现系统提供view已经满足不了你想要的外观需求时,可以重写drawRect方法或通过layer属性来构造复杂的图形外观和动画。还有一点,UIView也是继承UIResponder,所以也能够处理用户事件。
Control对象通常就是处理特定类型用户交互的View,常用的有button、switch、text field等。
除了使用View和Control来构建view层次结构来影响app外观之外,还可以使用Core Animation框架的Layer对象来渲染view外观和构建复杂的动画。

……(未完)

相关文章

  • 无标题文章

    开发应用程序都要了解其生命周期。 今天我们接触一下iOS应用程序的生命周期, iOS的入口在main.m文件:in...

  • iOS中应用和视图的生命周期

    iOS中应用和视图的生命周期 一. 应用的生命周期 在写前面 在iOS中,AppDelegate是应用程序的委托对...

  • 应用程序生命周期

    16/08/04/wed iOS应用程序生命周期 应用程序的状态 Not running :未运行,程序没有启动...

  • iOS面试题:生命周期

    1. 程序的生命周期 a. 程序的生命周期是指应用程序启动到应用程序结束整个阶段的全过程b.每一个IOS应用程序都...

  • 9.UIViewController的生命周期

    应用程序的生命周期: http://www.cocoachina.com/ios/20150623/12244.h...

  • IOS生命周期详解

    懂ios生命周期,让我们更好的投入到开发当中,让我们开发更加高效。 新建ios项目,我先开始从应用程序生命周期说起...

  • iOS应用程序状态

    iOS应用程序的生命周期是多种状态,各种状态之间可以互相切换,IOS的系统资源是有限的,应用程序在前台和后台的状态...

  • [Swift]iOS应用程序的状态

    iOS应用程序的生命周期包含了5种状态,Not running(未运行),Inactive(未激活),Active...

  • iOS应用程序的生命周期

    iOS应用程序的生命周期 来源: Sam_Lau(@Sam_Lau_Dev ) 链接:http://www.jia...

  • 1.1应用程序的生命周期

    应用程序的生命周期 应用程序的生命周期.png

网友评论

      本文标题:iOS 应用程序的生命周期

      本文链接:https://www.haomeiwen.com/subject/hraphttx.html