Objective-C 2.0程序设计
C程序设计语言是由AT&T贝尔实验室的Dennis Ritchie于20世纪70年代早期首创的。但是,直到70年代晚期,这种程序设计语言才获得了广泛的支持并流行开来。这是因为,在此之前,C编译器还不能用于贝尔实验室以外的商业用途。最初,UNIX操作系统同样的普及速度也在某种程度上促进了C语言的快速普及,UNIX操作系统几乎完全是由C语言编写的。
Objective-C语言是由Brad J.Cox于20世纪80年代早期设计的,它以一种叫做SmallTalk-80的语言为基础。Objective-C建立在C语言之上,意味着它是在C语言基础添加了扩展而创造出来的能够创建和操作对象的一门新的程序设计语言。
1988年,NeXT Software公司获得了Objective-C语言的授权,并开发出了Objective-C的语言库和一个名为NEXTSTEP的开发环境。1992年,自由软件基金会的GNU开发环境增加了对Objective-C的支持。所有Free Software Foundation(FSF)产品的版权归FSF所有。它根据GNU通用公共许可证发布产品。
1994年,NeXT Computer公司和Sun公司联合发布了一个针对NEXTSTEP系统的标准规范,名为OPENSTEP。OPENSTEP在自由软件基金会的实现名称为GNUStep。有一个Linux版本,它包括Linux内核和GNUStep开发环境,这个Linux发行版被十分贴切地命名为LinuxSTEP。
1996年12月20日苹果公司宣布收购NeXT Software公司,NEXTSTEP/OPENSTEP环境将成为苹果操作系统下一个主要发行版本OS X的基础。这个开发环境的该版本被苹果公司称为Cocoa。它内置了对Objective-C语言的支持,并结合了Project Builder(或它的后继版本Xcode)和Interface Builder等开发工具,苹果公司为Mac OS X上的应用程序开发创建了一个功能强大的开发环境。
2007年,苹果公司发布了Objective-C语言的更新,并称之为Objective-C 2.0。本书即是基于该版本的。
iPhone于2007年发布时,开发人员们要求为这款革新性的设备开发应用程序。起初,苹果公司不欢迎第三方应用程序开发。苹果公司安抚那些超级崇拜iPhone的开发人员的办法是:允许他们开发基于Web的应用。这些基于Web的应用在iPhone内置的Safari Web浏览器下运行,但需要用户连接到托管该应用程序的网站。开发人员对基于Web的应用的很多固有限制非常不满,于是苹果公司不久之后就宣布,开发人员能够为iPhone开发所谓的本机应用。
本机应用是驻留在iPhone上并且在iPhone操作系统下运行的应用,其运行方式与该设备上运行的内置iPhone应用(如Contacts、iPod和Weather)相同。iPhone的操作系统实际上是某个Mac OS X版本,这意味着可以在MacBook Pro上开发并调试这些应用。实际上,苹果公司很快就提供了强大的软件开发套件(SDK),允许快速地开发iPhone应用并进行调试。iPhone模拟器使得开发人员直接在其开发系统上调试应用成为可能,无需在实际的iPhone或iPod Touch设备上下载并测试程序。