【内容简介】
本书助您轻松体验Cocoa开发,不仅是阅读,还有动手实践。介绍完Xcode和Interface Builder之后,您将很快接触到Objective-C的面向对象编程概念,它是创建Mac OS X应用程序的首选语言。
每章中都提供了不同的示例程序供您构建,通过循序渐进的指导来教给您Cocoa编程的基础。每章中学到的技巧都作为基础铺垫后面章节中介绍的更高级的技巧和概念。您将学到:
·高效地用好苹果的开发工具套装,包括Xcode和Interface Builder
·构建单一的和多窗口的基于文档架构的应用程序
·用Cocoa的文本处理能力操作文本数据
·用Cocoa来绘图
·本地化您的应用程序以支持多语言
·完善您的应用程序,添加用于Dock上的图标、提供帮助和打包发布。
在每章的结尾您将看到一些练习,挑战您改进刚创建的应用程序,或为早先的示例增添新功能。
尽管附录中提供了解决方案,但仍旧鼓励您通过自己尝试来学习。
本书最初由苹果公司的内部人员编写,并由James Duncan Davidson修订成新版,在译为中文版时又将内容更新至基于Mac OS X 10.5 Leopard版本。
本书包含了Cocoa框架的最新更新,还包括了便利的API速查参考卡,以及在附录中给出很多重要资源,对任何Cocoa开发人员无论初学者还是高手都很重要。
【作译者介绍】
本书提供作译者介绍
James Duncan Davidson:Duncan是自由撰稿人、演讲者以及软件顾问,他主要专注在Mac OS X、Java和XML技术。他频繁地在全世界各种会议上演讲,话题范围从开源到高效Java开发。他是Apache Tomcat和Apache Ant的原创作者,并参与促成了Sun Microsystems(太阳微系统)公司向Apache Software Foundation(阿帕奇软件基金会)的捐赠。在Sun工作期间,他创作了两个版本的Java Servlet API规范,以及Java API for XMLProcessing(Java版XML API)规范。他现在居住在美国加州的旧金山,可以通过网站http://duncan.. << 查看详细
【目录信息】
前言
第一部分 Cocoa概述和基础
第1章 Cocoa介绍
Mac OS X编程环境
Cocoa定义
Cocoa框架
程序语言
Foundation框架
第2章 Cocoa开发工具
安装开发工具
Interface Builder
其他工具
命令行工具
练习
第3章 基于Objective-C语言的面向对象编程
认识对象
创建和使用对象
Objective-C定义的类型
创建新类
<< 查看详细目录
【译者序】
不管您是了解个人电脑发展史还是紧跟着当今时尚潮流,苹果公司的产品都应该具有与众不同的地位。不只是它的产品开创了个人电脑的时代,苹果公司也作为重要角色不断书写着个人电脑的发展历史。历经几个年风雨起伏它又凭借着自己先进的技术、令人称赞的创新精神、优秀的产品和独到的市场运作,重新回到主流市场之中。作为现存不多的老牌个人电脑公司之一,苹果公司如今几乎成为时尚创新科技的代名词,市值超过思科、IBM、惠普、戴尔等行业巨头。.
随着近几年来苹果电脑在国内市场的逐渐发展,现在越来越多的开发人员开始意识到应该在更具活力和创新精神的平台上开发优异的产品。《Cocoa入门—使用Objective-..
<< 查看译者序
【前言】
Mac OS X是一套经过精心设计的、无与伦比的操作系统,正如设计精良的高级跑车一样。.
Mac OS X的系统内部拥有基于Unix的强劲引擎,名叫Darwin。该引擎最初由Apple创始的开源组织研发,建立在FreeBSD 4.4以及Mach 3.0微内核技术之上。随着计算机技术的不断发展,Darwin内核也在不断更新,不断加入FreeBSD后续版本及其他技术的各种特性。操作系统的外层则是设计精美的GUI(图形用户界面),它的易用性远超过任何桌面型操作系统,包括Windows系列和Linux上的GNOME、KDE。
苹果公司发布的最新版本桌面系统是MacOS X 10.5(代号为Leopard,美洲豹),在桌面计算和网络计算方面又有了新的突破。2006年8月,苹果..
<< 查看前言
【书摘】
第一部分 Cocoa概述和基础
第1章 Cocoa介绍
Cocoa为创建应用程序提供了一个功能丰富的支撑层。它拥有一个包罗万象的面向对象API集,与Mac OS X提供的众多技术相辅相成。这些技术大部分继承自NeXTSTEP操作系统,而另一些则源于Mac OS X的内核BSD Unix系统。还有一些技术源于早期的Macintosh环境,但已经更新升级,能与现代操作系统共同工作。多数情况下您都能毫无察觉地享用这些底层技术带来的优势,而且从本质上来说是免费而自由地使用。有时候您可能也要直接使用这些技术,鉴于Cocoa优秀的构建方式,只需简单而直接的API调用即可。
本章概述了Mac OS X的编程环境和Cocoa在其中的地位。接着您将学到组成Cocoa API的其中两个框架(Framework)——Foundation和Application Kit,当然还有它们提供的功能。
Mac OS X编程环境
Mac OS X提供了五个主要的应用程序环境:
Carbon
它是一组工作在Mac OS X上的面向过程的API。这些接口最初继承自早期的Mac OS Toolbox API集合,经过修改后,使其适合Mac OS X的保护内存环境和抢占式任务调度。作为一套过渡性API,Carbon为开发人员提供了一条明确的途径:无需完全重写编码,就能将早先遗留的应用程序到移植Mac OS X上。比如AdobePhotoshop CS2和Microsoft Office 2004都是Carbon应用程序。如果你想了解更多关于Carbon的知识,请查看Xcode帮助中的开发文档或者参阅《LearningCarbon》(O’Reilly出版)。
Cocoa它是一组面向对象的API,这些API源于NeXT操作系统的技术,而这些技术又利用了Carbon的很多特性。使用Cocoa APl进行编程正是本书的重点。很多Mac OS X中内建的应用程序,如Mail和Safari都是使用Cocoa编写的。此外,很多苹果机上的最新应用程序,例如iLife套件,iChat及Photo Booth,也都使用了Cocoa。
Java它是一个健壮而快捷的虚拟机环境,用于运行使用Java开发工具包(JDK)开发的应用程序。Java应用程序通常具有跨平台特性,无需修改和重新编译,就能在多种计算环境中运行。
BSD UnixMac OS X的BSD层提供了丰富、健壮、成熟的工具集和系统调用。标准的BSD工具,实用工具,API及函数都可用于应用程序。命令行环境就是这层的一部分。
Classic
它是一种兼容环境,用于支持系统运行早先的Mac OS X或Mac OS 9下的应用程序,这些程序没有后续更新,不能很好地发挥Mac OS X的优势。Classic从本质上讲是Mac OS 9的改进版本,它运行在一个与操作系统其他部分存在特殊钩子操作(hook)的进程当中。随着时间的推移,越来越多的应用程序已移植到Mac OS X上运行,使得Classic变得不那么重要,从Mac OS X 10.5开始,苹果公司已正式废弃了Classic环境,不在Mac OS X中提供。
所有这些应用程序环境都在一定程度上依赖于操作系统的其他部分。图1.1给出了简要的层次图示,描绘了Mac OS X应用程序的环境,以及它们与操作系统其他主要部分的关系。如图1-1所示,Mac OS X的应用程序环境均依赖于操作系统底层所提供的功能。这些功能大体上可分为两个主要部分:一个是Core Foundation,它向Cocoa,Carbon,Java框架提供了一套通用的应用集和核心服务;另一个是内核环境(kernel environment),它是操作系统底层基于Unix的核心。
Cocoa定义
Cocoa是一个先进的面向对象框架,主要用于构建运行在苹果Mac OS X上的应用程序。它把共享对象库,运行环境系统及开发环境完整地整合在了一起。Cocoa提供的基础体系满足大部分图形界面应用程序的典型需要,并将应用程序与操作系统内部的工作互相隔离。
可以把Cocoa理解为一个对象层,它充当程序与操作系统之间的媒介与协调人的角色。这些对象覆盖了从基本类型的简单封装,如字符串和数组,到复杂的功能,如分布式计算和高级影像处理。它们被设计于一个复杂而精巧的体系之上,以简化编程工作,轻松创建图形界面的应用程序。
基于Cocoa的应用程序并不仅局限于使用Cocoa框架中的特性。它们也能使用Mac OS X中的其他框架的全部功能,例如Quartz、QuickTime、OpenGL、ColorSync等等。由于Mac OS X是建立在一个基于BSD的坚固系统Darwin之上,Cocoa应用程序可使用Unix系统的所有核心功能,并按程序需要使用底层的文件系统、网络服务和设备。
Cocoa的历史
Cocoa其实已存在很长时间,几乎与Macintosh一样久远。它很大程度上基于OpenStep,于1987年与典雅的NeXT cube电脑一起以NeXTSTEP的名字公布于世。当时NeXTSTEP的目标正如只有Steve Jobs才敢宣称的“创造下一个疯狂而伟大的事物”。它的发展经历很多版本,被众多公司采纳作为开发和部署环境,并被广泛报道,十分火热。它基于领先当时世面上任何产品很多年的设计,成为一种强悍的技术延续至今。NeXTSTEP建立在由加州大学伯克利分校(UC Berkeley)开发的BSD Unix和卡内基梅隆大学(Carnegie—Mellon University)开发的Mach微内核基础之上。它利用了Adobe公司开发的Display PostScript技术(允许使用与PostScript页面描述语言相同的代码)来实现在屏幕上显示文档和输出打印文档。NeXTSTEP包含一组被称为“框架”(Framework)的库,还有一些工具,使开发人员能够用Objective-C语言构建应用程序。
……
【插图】