[转]基于XCode开发的Iphone APP程序结构

http://iammr.7.blog.163.com/blog/static/49102699200931794317487/

基于XCode开发的Iphone APP程序结构

挨踢咋活 2009-04-17 09:43:17 阅读679 评论0 字号:

以下分析是基于Xcode进行iphone开发的代码。通过Xcode IDE在设计时可以自动做很多事;但是这些事意义何在,怎么将整个APP贯穿起来。分析了解之后,就可以知道应用程序大致结构,运作机制。基于此,以后也就只需了解特定的控件或功能库的使用了。

Ø       IPhone程序的结构

所有的iphone程序,都是桌面视窗程序;在可见性方面看,所见的一切都是窗口,因为它们都继承于共同的基类UIControl

n         每个Iphone程序都有一个主窗口;

n         而每个显示的子视窗也是窗口;

n         每个控件也都是子窗口

 

以通用的单视窗程序和多视窗程序举例而言:

l         对于单视图程序而言,就是主窗口内部包含子视窗;

l         对于多视窗程序而言,

n         就是主视图包含一个特殊的子视窗:多视窗控制器。

n         而多视窗控制器则包含每个子视窗

 基于XCode开发的Iphone APP程序结构 - Mr.7 - Mr.7

 

因此,可以说,窗口之间存在父子包含关系:

n         一个主窗口仅且只能包含一个子视窗

l         该子视窗可以是一个具体的子视窗;这就是单视窗程序

l         该子视窗是一个多视窗控制器;这就是多视窗程序

n         一个子视窗可能包含着多个控件,这些控件也都是子窗口

n         多视窗控制器也是一个子视窗;它的作用是将子视窗当作其一个个控件来管理

 

理解如上逻辑组织结构,就可以看看在物理上是如何通过文件来表现的。

  

Ø       IPhone程序的物理组织

子视窗

每个子视窗由两部分组成:资源文件和控制文件。分别介绍如下:

 

资源文件

控制文件

说明

物理文件

Helloview.xlb

Helloview.h

Helloview.m

XlbXcode中打开就是界面

作用

界面设计

运行时界面显示

消息控制映射

控件对象映射

如何在Interface Builder中实现映射操作:

l          先在实现类中添加绑定后的结果名

l          然后拖动对象或对象的方法到View显示栏

l          最后选择对应的名称

可见操作起来是很麻烦,完全不如MFC中的自动一步到位;而且每类控件对应的类型也不能自动提示出来

MVC层次

V – 视图层

C – 控制层

 

MFC比较

资源文件 rc

映射类

MFC区别在于:

l          Xlb中既包括资源信息,也包括控件和成员对象映射信息

l          MFC中将控件和成员映射信息放在了对应类中

 

 

 

 

可以看出子视窗的两个作用:界面和控制;控制负责管理子窗口控件对象及其消息。

 

主窗口

主窗口的作用也是两个:界面和控制。

n         界面还是通过xlb资源文件来实现;只不过该界面很简单,只是负责放哪个子视窗。该文件名固定是MainWindow.xlb

n         控制则没有单独的控制文件。因为其作用很简单,只是负责放哪个子视窗,所以完全通过UIApp的接口来实现即可。也就是一个APP的代理类。代理类的文件名就是“projectname AppDelegate.

 

应用程序

       每个应用程序还有些别的固定文件:

n         main.m    应用程序起始文件

n         Info.plist 应用程序的一些配置信息:例如图标等。

 

了解了如上文件组织结构,分析一个例子则可以很快知道大致框架;各个功能各依存于何处。也可以了解一些Xcode交互幕后生成代码的意义。

 

 

Ø       IPhone程序的生命周期

 基于XCode开发的Iphone APP程序结构 - Mr.7 - Mr.7

多视窗程序就是出现多个子视窗;而多视窗控制器就是Iphone提供的有限几个。

 

Ø       Iphone开发的参考体系

界面布局控件

       主要是特殊的控件、特殊的事件响应

 

持久层

       应用程序在Iphone中的部署以及访问局限性

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值