初学者必看文档:iPhone开发之路学习基础

移动开发 iOS
本文介绍的是iPhone开发之路学习基础,作为初学者是必看的文档,因为文章中很详细的介绍了iphone开发中的实例,来看详细内容。

iPhone开发之路学习基础是本文要介绍的内容,主要介绍了iphone中的代理类、iPhone的基本设计模式的内容,一起来看详细内容介绍。

谈谈代理类(delegate class)

程序的代理对象是开发者自己实现的对象,主要负责监听程序的高级行为。代理机制用于避免继承复合UIKit对象(例如UIApplication对象)。使用代理不需要子类继承或重写父类的方法,只要保持复合对象不变,将需要添加或重写的代码放到代理对象中。当有事件发生,复合对象会发送消息给代理对象。 这有点像“钩子”,通过这些“钩子”来执行代码和实现需要的行为。

程序代理负责处理很多重要的系统消息没一个iPhone程序都必须有。这个对象可以是任何实现了UIApplicationDelegate协议(protocol)的对象的实例,UIApplicationDelegate协议在程序生命周期内定义了很多“钩子”和实现自定义行为的方法。尽管不要求开发者实现所有这些方法,但是下面这些方式是必须实现的:

applicationDidFinishLaunching :开发者可以用在这个方法中完成自定义的初始化任务,比如加载数据或用户界面;也可以恢复程序上一次退出时的状态。

applicationWillTerminate :开发者可以在这个方法中将重要的数据和程序状态保存起来,也可以再这个方法中进行清理工作比如删除临时文件。

iPhone的基本设计模式

UIKit框架的设计采用了很多和Cocoa程序类似的设计模式。理解这些设计模式对开发iPhone程序非常重要。因此在学习开发iPhone程序前,有必要了解一下iPhone开发中常用的设计模式

iPhone应用程序中的基本设计模式包括:

MVC模式(Model-View-Controller)

MVC模式是将你的代码风格成独立的功能模块的良好方法。模型(Model)部分定义了底层数据引擎并负责维护这些数据的整合;视图(View)部分定义了用户界面,它并不知道显示在界面上的原始数据的具体含义;控制器(Controller)部分像是模型和视图之间的一坐桥梁,负责更新它们。

代理(Delegation)

代理模式是一种可以不必通过继承却可以改变复合类行为的途径。你可以将你的用于改变复合类行为代码放到单独的代理对象中有复合类来调用,而不必去继承。复合类会调用代理对象中的方法从而给它一次运行自己代码的机会来更改复合类的行为。

目标-行动(Target-Action)

控件(Controls)采用目标-行动模式来提醒程序用户的交互。当用户按照预定义的方式与某个控件交互时(例如按了某个按钮),控件会发送一个消息(动作)给指定的对象(目标)。当收到消息时,目标对象根据消息采用相应的方式进行响应(例如更新程序状态来响应按钮点击)。

管理内存模型(Managed Memory Model)

Objective-C采用"引用计数"的方式来决定合适清理对象所占的内存。当对象初次创建时,它的引用计数为1。其他对象可以调用改对象的retain, release 或 autorelease方法增加或减少此组件的引用计数。当对象的引用计数为0时,Objective-C运行环境会清理掉该对象所占的内存。

小结:iPhone开发之路学习基础(初学者必看文档)的内容介绍完了,希望通过本文的学习能对你有所帮助!

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

2011-07-26 17:55:16

iPhone Runtime

2011-08-04 18:01:07

IOS Cocoa Touc

2011-09-14 09:49:41

Android开发

2011-09-08 10:38:37

Widget

2011-07-27 10:02:12

iPhone Framework

2011-09-16 09:38:19

Emacs

2011-08-24 17:05:01

Lua

2015-07-20 13:56:59

SDN

2009-10-29 09:19:59

ADO.NET

2011-08-02 14:48:04

IOS 多任务

2011-07-26 10:42:00

Cocoa Cocoa2d 游戏

2011-08-10 19:01:18

Objective-C

2011-11-08 17:11:47

程序员

2011-06-17 15:32:28

Qt

2011-06-17 14:29:55

Qt

2011-06-17 15:06:14

Qt

2011-06-17 14:12:32

Qt

2011-07-26 16:08:40

iPhone 应用程序

2011-06-17 14:54:31

Qt

2013-04-23 10:51:15

Linux压缩
点赞
收藏

51CTO技术栈公众号