欢迎Objective-C新手们随我一起踏上这次Objective-C之旅!本章首先简要介绍这门语言,然后就开始编写代码。我们首先介绍苹果公司的Objective-C开发环境,然后探讨Objective-C在应用开发方面如此流行的原因,随后会介绍苹果公司提供的集成开发环境(IDE)Xcode,并研究如何用它来提高Objective-C编程的效率和增加编程乐趣。
1.1简介
Objective-C是苹果公司的OSX和iOS(iPod、iPhone和iPad)平台上的主要编程语言。近年来,这两大平台已经位于最流行的应用开发环境之列,而其成功的一个关键因素在于Objective-C的特性。
苹果公司在2007年发布了Objective-C2.0。该版本新增了许多特性,其中包括自动声明和补全属性、点语法、快速枚举、异常处理、运行时性能提升和支持64位机。
Objective-C语言一直在不断发展,并通过新增的特性获得更强大的编程和表达能力。该语言最近的一些较大改进包括:Objective-C对象的自动引用计数特性、改进的数据隐藏特性、改进的枚举类型安全性,以及块、常量和其他特性的新语言结构。
1.1.1苹果公司的Objective-C平台
苹果公司的Objective-C开发环境由以下四部分组成:
Objective-C编程语言
Objective-C运行时环境
软件库
软件开发工具
本书主要介绍使用Objective-C进行面向对象的软件开发方法。第一部分介绍这门编程语言和该语言对面向对象程序设计的支持。
Objective-C程序在Objective-C运行时环境中执行,因此可动态编程。本书第二部分详细介绍Objective-C的运行时环境,以及使用其应用编程接口(API)的方法。
软件库中含有一系列多功能的框架、库和服务,使用它们可以简化应用开发工作。此外,软件库还提供了在OSX和iOS平台上开发应用所需的许多功能。本书第三部分介绍Foundation框架,它是各种Objective-C程序都使用的基础API。
第四部分着重介绍Objective-C的高级特性,使用它们可以开发更为精巧的应用。
软件开发工具可以提供源代码编辑和编译、用户界面开发、版本控制、项目管理、测试与调试等功能。使用它们还可以简化应用开发工作,提高开发、管理和维护Objective-C软件的效率。本书通篇都会介绍使用这些工具开发程序的方法。附录B给出了一些额外的提示和建议。
1.1.2选择Objective-C的原因
与当今的诸多编程语言相比,Objective-C具有哪些优势呢?毕竟,支持面向对象程序设计的语言相当多。Objective-C是苹果公司OSX和iOS平台上的主要编程语言,这是不是它流行起来的最大原因呢?Objective-C原本就是一款非常优秀的编程语言,它拥有许多特性,在应用开发过程中功能强大、能够处理各种情况并且易于使用。
面向对象的编程功能:Objective-C编程语言为面向对象的程序设计(OOP)提供了全面的支持,其中包括对象消息、封装、继承、多态和开放式递归等功能。
对象消息传递:该功能使对象能够通过彼此传递消息协同工作。实际上,Objective-C代码(如类、对象方法或函数)会向接收对象(接收器)发送消息,然后接收器会使用该消息调用相应的方法,并在有需要时返回结果。如果接收器没有相应的方法,也可以使用其他方式处理该消息,如将其发送给另一个对象、向其他对象广播该消息、检查该消息并应用自定义逻辑等。
动态的运行时环境:与许多面向对象的编程语言相比,Objective-C拥有非常多的动态特性。它将许多处理类型、消息和方法决议(methodresolution)的工作转移到运行程序的时候进行,而不是在编译或链接时处理。使用这些功能能够以实时方式,同时促进程序的开发和更新,而无需重新编译和部署软件,而且随着时间的推移,这样做对现有软件的影响最小甚至没有影响。
内存管理:Objective-C提供了内存管理功能——自动引用计数(ARC),使用该功能既可以简化应用开发过程,又可以提高应用的性能。ARC是一种编译时技术,它整合了传统内存自动化管理机制(如垃圾回收器)的许多优点。然而,与传统技术相比,ARC可以提供更好的性能(内存管理代码会在编译时被插入到程序代码中),因而不会在执行程序时引起由内存管理原因导致的暂停。
内部检查和获取信息:通过Objective-C语言提供的功能,程序能够在运行时检查对象、获取信息(对象的类型、属性和该对象支持的方法),以及修改对象的结构和行为。这样就可以在执行程序时修改程序。
对C语言的支持:Objective-C实际上是C语言面向对象编程的扩展。所以,它是C语言的超集。这意味着Objective-C程序中可以使用不经修改的原始C语言代码,而且Objective-C程序也可以直接访问C语言标准函数库。
苹果公司的技术:苹果公司为Objective-C应用开发提供了丰富的软件库和工具。这些开发工具拥有含基础设施的框架和库,让你可以集中精力开发应用。Xcode是苹果公司提供的集成开发环境,提供了使用Objective-C开发应用所需的所有工具。
上面仅是Objective-C越来越流行的部分原因,我可以肯定你在阅读本书时还会发现更多的原因。下面让我们使用Xcode编写一个简单的Objective-C程序,看看Objective-C的真正实力。
……
展开