基于XCode开发iPhone APP程序结构教程

移动开发 iOS
本文介绍的基于XCode开发iPhone APP程序结构教程,很详细的介绍了iphone app程序结构,先来看详细内容。

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

IPhone程序的结构

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

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

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

每个控件也都是子窗口

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

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

对于多视窗程序而言,

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

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

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

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

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

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

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

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

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

IPhone程序的物理组织

子视窗

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

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

V – 视图层
 
C – 控制层
 
MFC比较

资源文件 rc
 
映射类
 
与MFC区别在于:

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

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

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

主窗口

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

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

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

应用程序

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

main.m    应用程序起始文件

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

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

IPhone程序的生命周期

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

Iphone开发的参考体系

界面布局控件

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

持久层

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

绘图

关于以下图的个人理解

view 类似于window中的控件(例如对话框),可以添加一些响应事件,同时有两个文件.h和.m两个文件对象.

File's Owner类似window的类向导,用来添加响应处理,同时操作.h和.m文件

小结:基于XCode开发iPhone APP程序结构教程的内容介绍完了,希望本文对你有所帮助!

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-07-06 17:53:40

iPhone SDK Xcode

2011-08-09 16:58:22

XCodeSDK

2011-07-07 15:32:07

2011-07-07 17:36:13

iPhone Xcode 窗口

2011-08-04 17:24:12

iPhone开发 Xcode 窗口

2011-07-28 13:59:40

iPhone App

2011-07-06 17:48:30

iPhone Xcode 模拟器

2011-08-04 17:19:49

iPhone开发 Xcode 文档

2011-07-22 18:25:20

XCode iPhone SDK

2011-08-03 17:44:57

iPhone App 文件

2012-04-26 13:30:05

iPhoneApp Store发布程序

2010-01-21 18:08:25

VB.NET程序结构

2011-08-10 15:48:10

iPhone网络

2011-07-06 18:31:21

Xcode 4 iPhone 模拟器

2011-07-06 18:10:20

Xcode 4 iPhone

2011-07-21 16:36:30

iPhone Web App

2013-12-04 15:11:03

Android SDK应用程序

2020-04-10 10:36:20

网络通信框架

2011-07-06 10:59:14

iOS 4 XCode iPhone

2011-07-26 08:52:57

点赞
收藏

51CTO技术栈公众号