ios应用程序的应用构架及规则

#应用程序的构架

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

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

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

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

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

#iOS应用程序有哪些关键对象以及他们的职责是什么?

1.UIApplication对象用户与iOS设备交互时产生的事件(Multitouch Events-多点触碰事件 Motion Events-运动事件 remote control events-远程控制事件)交由UIApplication对象来分发给control objects对应的target objects 来处理并且管理整个事件循环,而一些关于app运行时重要事件委托给app delegate来处理。

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

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

4.Documents和data model对象  data model对象主要用来存储数据。可以用来记录历史搜索的地址,当app下次启动时,读取和显示搜索地址历史

Document对象继承(UIDocument)用来管理一些或所有的data model对象,document对象并不是必须的,但提供一种方便的方式来分组属于的那个文件或者多个文件的数据。

5.view、对象可以通过addSubview和removeFromSuperview等方法来管理view的层次结构,使用layoutIfNeeded和setNeedsLayout等方法布局view的层次结构,当你发现系统提供的view已经满足不了你的外观需求时,可以重写drawRect方法或者通过layer属性来构造复杂的图形外观和动画,UIview继承UIResponder,所以也能够处理用户事件。

control对象通常就是处理特定类型用户交互的view,常用的有button、switch、textField等。

除了使用view和control来构建view层次结构来影响app外观之外,还可以使用Core Animation框架的layer对象来渲染view外观和构建复杂的动画



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值