`
muyu114
  • 浏览: 136365 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

深度解析iPhone开发应用程序委托

 
阅读更多

Cocoa的Foundation框架包含了基础数据类、基础工具类等主要部分,几乎所有的Cocoa类都是从一个根类对象NSObject继承来的。本次主要说明应用程序层的事件委托与应用程序生命周期。

iPhone开发应用程序委托是本文要介绍的内容,主要讲解的是应用程序的委托iPhone的软件栈有好几层组成,而应用程序是位于栈里面最高的抽象层,系统核心服务(操作系统层)则是位于最底层的。这中间还有媒体层、Cocoa Touch层、核心服务层等等 ,但一般在开发应用程序的过程中,与我们主要打交道的是GUI框架和Cocoa Touch层所提供的面向对象抽象。

Cocoa的Foundation框架包含了基础数据类、基础工具类等主要部分,几乎所有的Cocoa类都是从一个根类对象NSObject继承来的。本次主要说明应用程序层的事件委托与应用程序生命周期。

为了说明应用程序,从main开始。

  1. intmain(intargc,char*argv[]}{
  2. NSAutoreleasePool*pool=[[NSAutoreleasePoolalloc]init];
  3. intretVal=UIApplicationMain(argc,argv,nil,nil);
  4. [poolrelease];
  5. returnretVal;
  6. }

这是一个典型的C风格主函数,其功能核心部分在于调用了UIApplicationMain函数来启动事件循环并开始运行应用程序,注意主函数的第三个以及第四个参数,这两个参数指明了应用程序的主类和应用程序委托。而这个委托就是一个处理应用程序生命周期管理事件的类。如果指定是nil,则被告知需要从一个nib文件来装入这些类对象。在Info.plist文件中,指定了一个nib文件,默认情况下是MainWindow.xib,接下来的事情就是 UIkit在xib文件中寻找应用的委托了。

在该nib文件(用IB打开)中,可以看到有几个图标,其中有一个图标是应用程序委托的图标。其它的好像是视图控制器图标以及一个窗口图标。另外有File's Owner (拥有当前nib文件的对象)以及First Responser(指示该组件能够第一个接收用户的输入)两个图标。
那么应用程序是如何将该委托对象与应用程序相连的呢?

iPhone应用程序都有一个窗口对象,应用程序委托中有两个连接,一个连接到该nib文件的窗口对象,一个连接到该nib文件的视图控制器上。一般我们可以通过定制视图控制器的行为来控制我们的显示。

整个过程就是这样的了。系统先调用main函数,然后main函数调用UIAplicationMain函数,这个函数利用Info.plist文件来寻找应用程序的主nib文件,在该文件中找到应用程序的一个委托,这个委托又有两个连接,可以接连到一个窗口和视图控制器。然后这个视图控制器又可以定制我们的显示行为(可以用代码定制也可以用nib文件定制),这就是启动应用程序的整个过程。

接下来,委托可以做什么呢?

应用程序的生命周期由生命周期方法控制,这些生命周期方法与应用委托相关的,当然,也是与由它装入的视图控制器相关的。比如,应用程序刚刚启动完毕,调用委托的applicationDidFinishLaunching:方法。
为什么需要委托呢?

一个简单的想法是,一个对象能够有一个单一的委托对象,可以在某些事件发生的时候来调用该委托对象的事件方法。委托对象就像一个职业能手一样,它总是说:没事,当这个事件发生的时候,你告诉我就好了。而另一个接收事件的对象则有很多其它的业务事情需要处理:我实在没时间处理这些事情,我也不知道我应该要做什么,所以我交给你吧。

委托对象由UIApplicationDelegate所定义,因此对于一个类,如果想成为应用程序的委托,一定需要在头文件中声明它实现这个协议,然后在类的实现中,实现所有的必须方法。

小结:深度解析iPhone开发应用程序委托的内容介绍完了,希望通过本文的学习能对你有所帮助!

转自:http://mobile.51cto.com/iphone-283174.htm
分享到:
评论

相关推荐

    iPhone应用程序编程指南-中文版 pdf

    这本书的中文版使得更多的中国开发者能够轻松掌握iOS应用开发的技术和技巧。 在iPhone应用程序编程中,首先需要了解的是Objective-C或Swift编程语言。Objective-C是苹果长期以来的官方开发语言,而Swift则是近年来...

    iPhone 开发应用程序

    Cocoa Touch是iOS应用开发的核心框架,包含了UIKit、Core Animation和Core Data等子框架。UIKit负责UI的创建和事件处理,Core Animation则用于实现流畅的动画效果,而Core Data则为数据持久化提供支持。开发者需要...

    iPhone应用程序开发指南.pdf

    iPhone应用程序开发指南是iOS开发领域的专业参考书,为开发者提供...随着移动设备的普及和移动互联网的发展,掌握iPhone应用开发技能变得越来越重要,对于希望在移动应用市场取得成功的人来说,这些知识是不可或缺的。

    iOS(iPhone)应用程序开发入门视频教程(35讲)

    资源名称:iOS(iPhone)应用程序开发入门视频教程(35讲)资源目录:【】ios(iPhone)应用程序开发入门视频教程:第10讲多视图应用程序【】ios(iPhone)应用程序开发入门视频教程:第11讲高级UI控件【】ios(iPhone)应用...

    iPhone手机应用程序开发资料

    1. **Flash CS5与iPhone应用开发**: Flash CS5 是Adobe公司的一款集成开发环境,主要用于创建互动内容、动画和应用程序。在描述中提到,Flash CS5 引入了一项重大更新,即支持开发针对iPhone的应用程序。这一特性...

    iPhone应用程序编程指南

    - **开发平台**:iPhone 应用程序开发需要在运行 MacOS X v10.5 或更高版本的操作系统以及基于 Intel 的 Macintosh 电脑上进行。 - **工具下载**:开发者需要从 Apple 官方网站下载并安装 iPhone SDK。 #### 五、...

    iphone 聊天应用程序

    首先,我们要明确的是,iPhone聊天应用程序的核心在于实时通信。为了实现这一目标,我们需要选择一种适合的通信协议。在iOS开发中,最常用的实时通信协议是WebSocket,它提供了全双工、低延迟的连接,能够实现服务器...

    最新 iPhone 应用程序开发全教程.pdf

    ### 最新iPhone应用程序开发全教程知识点总结 #### 一、教程基本信息 - **书名**:《最新 iPhone 应用程序开发全教程》 - **英文名称**:Beginning iPhone 3 Development Exploring the iPhone SDK - **作者**:...

    《iPhone应用程序开发攻略之iPhone特色传感器应用》

    本书的标题为《iPhone应用程序开发攻略之iPhone特色传感器应用》,从这个标题我们可以看出,这本书是专门针对iPhone应用程序的开发者所编写的一本关于iPhone特色传感器的应用开发教程。iPhone特色传感器包括但不限于...

    iPhone应用程序编程指南(中文版)

    - **开发环境要求**:开发iPhone应用程序需要在运行MacOS X v10.5或更高版本的Intel Mac电脑上进行,并且需要下载和安装iPhone SDK。 - **开发工具**:Xcode是主要的开发工具,用于编写代码、调试和打包应用程序;...

    用Eclipse 开发 iPhone Web 应用程序(doc)

    对于iOS设备,尤其是iPhone而言,虽然原生应用开发通常采用Swift或Objective-C语言,但在某些场景下,开发基于Web技术的应用也能满足需求,且具有跨平台的优势。本文将详细介绍如何使用Eclipse这一流行IDE来构建适用...

    C#/.NET开发 Android应用程序及iphone应用程序

    XamarinInstaller使用C#/CSharp在.NET开发环境上开发Android应用程序及IOS应用程序的插件及开发说明,C#程序员们的福音,我们的热爱,分享 要求安装了VS2010或VS2012 注意如果只需要开发Android应用程序,仅需安装 mono...

    开发iPhone应用程序基本步骤(英文)

    ### 开发iPhone应用程序基本步骤详解 #### 一、创意构想阶段 在开始任何应用程序的开发之前,最重要的一环就是构思一个独特的应用理念。正如文中所述,“开发iPhone应用程序基本步骤”首先强调的是需要有一个新颖...

    iphone SDK应用程序开发 源代码

    《iPhone SDK应用程序开发源代码》是一本专注于iPhone应用开发的专业书籍,其提供的源代码是学习和实践iOS开发的重要资源。本书旨在帮助开发者深入理解iPhone SDK,掌握如何利用它来构建功能丰富的应用程序,并最终...

    iPhone应用程序开发指南.pdf.

    《iPhone应用程序开发指南.pdf》是一本深入探讨iPhone应用开发的专业书籍,主要针对想要在iOS平台上构建应用程序的开发者。这本书详细介绍了从零开始学习iOS开发所需的知识点,包括Swift编程语言、Xcode集成开发环境...

    ①-iphone应用程序开发-iPhoneAppProgrammingGuide

    ### iPhone应用程序开发——iPhone App Programming Guide #### 一、引言与概述 在《iPhone Application Programming Guide》这一文档中,苹果公司(Apple Inc.)详细介绍了如何为iPhone开发应用程序的相关知识和...

    软件创富密码:iPhone应用程序开发攻略之深入浅出Objective-C2.0分卷一

    《软件创富密码:iPhone应用程序开发攻略之深入浅出Objective-C2.0(适用于ios4)》系统地介绍了关于使用Objective-C2.0开发iPhone应用程序的基础知识,涵盖各种开发工具的操作技巧、框架(Framework)内部的工作原理...

    AppStore掘金iPhone SDK应用程序开发

    《AppStore掘金iPhone SDK应用程序开发》是一本深入探讨如何利用iPhone SDK进行应用程序开发的专业书籍。本书旨在帮助开发者在Apple的AppStore中找到成功的路径,通过掌握iPhone SDK的关键技术和最佳实践,实现创新...

Global site tag (gtag.js) - Google Analytics