网站颜色:

Objective C 基础教程 第2版 Objective C 编程之道程序设计教程 Objective C编程入门书 网络计算机书籍 IOS移动开发从入门到精通

  • 产品名称:Objective-C基础教程(第...
  • 书名:Objective-C基础教程(第2版)/移动开发系列/图灵程序设计丛书
  • 作者:(美)克纳斯特马利克达尔林普尔|译者:周庆成
  • 译者:周庆成
  • 定价:59.00元
  • 书名:Objective-C基础教程(第2版)/移动开发系列/图灵程序设计丛书
  • 开本:16开
  • 是否是套装:否
  • 出版社名称:人民邮电出版社

基本信息

书名:Objective-C基础教程 第2版

:(咨询特价)

作者:[美] Scott Knaster,[美] Waqar Malik,[美] Mark Da

出版社:人民邮电出版社

出版日期:2013-(咨询特价)

ISBN(咨询特价)

字数:(咨询特价)

页码:315

版次:2

装帧:平装

开本:16开

编辑推荐

 


 

 

解读Objective-C和Cocoa特性.全面涵盖新技术和新增工具.iPhone、iPad、Mac开发.Objective-C是一门面向对象、通用、高级、强大的编程语言。它有着优雅的编程环境,并发扬了C语言的优秀特性,是苹果的iOS和OS X操作系统的主要编程语言。全面系统地讲述了Objective-C的基础知识和面向对象编程的重要概念,结合实例介绍了Cocoa工具包的优秀特性及框架,以及继承、复合、对象初始化、类别、协议、内存管理和源文件组织等重要编程技术,教你如何针对iOS或OS X用户界面编写出优秀的应用程序。另外,本书第2版新增内容有: 1. Objecitve-C新特性:代码块、ARC、类扩展; 2. 新增工具Clang静态分析器GCD; 3. 如何使用UIKit框架开发精致的iOS应用程序; 4. 如何使用新版本的Xcode。无论你是初次接触Objective-C和Cocoa,还是已有丰富的C语言、C++或者Java编程经验,本书都能让你轻松过渡并熟练掌握Objective-C!

 

目录

 


 

 

第1章 启程1.1 预备知识1.2 历史1.3 内容简介1.4 准备工作1.5 小结第2章 对C的扩展2.1 简单的Objective-C程序2.2 解构Hello Objective-C程序2.2.1 #import语句2.2.2 框架2.2.3 NSLog和@“字符串”2.3 布尔类型2.4 小结第3章 面向对象编程的基础知识3.1 间接3.1.1 变量与间接3.1.2 使用文件名的间接3.2 在面向对象编程中使用间接3.2.1 过程式编程3.2.2 实现面向对象编程3.3 有关术语3.4 Objective-C语言中的OOP3.4.1 @interface部分3.4.2 @implementation部分3.4.3 实例化对象3.4.4 扩展Shapes-Object程序3.5 小结第4章 继承4.1 为何使用继承4.2 继承的语法格式4.3 继承的工作机制4.3.1 方法调度4.3.2 实例变量4.4 重写方法4.5 小结第5章 复合5.1 什么是复合5.2 自定义NSLog5.3 存取方法5.3.1 设置engine属性的存取方法5.3.2 设置tires属性的存取方法5.3.3 Car类代码的其他变化5.4 扩展CarParts程序5.5 复合还是继承5.6 小结第6章 源文件组织6.1 拆分接口和实现6.2 拆分Car程序6.3 使用跨文件依赖关系6.3.1 重新编译须知6.3.2 让汽车跑一会儿6.3.3 导入和继承6.4 小结第7章 深入了解Xcode7.1 窗口布局一览7.2 改变公司名称7.3 使用编辑器的技巧7.4 在Xcode的帮助下编写代码7.4.1 首行缩进(美观沛)7.4.2 代码自动完成7.4.3 括号配对7.4.4 批量编辑7.4.5 代码导航7.4.6 集中精力7.4.7 使用导航条7.4.8 获取信息7.5 调试7.5.1 暴力测试7.5.2 Xcode的调试器7.5.3 精巧的调试符号7.5.4 开始调试7.5.5 检查程序7.6 备忘表7.7 小结第8章 FoundatioKit介绍8.1 稳固的Foundation8.2 使用项目样本代码8.3 一些有用的数据类型8.3.1 范围8.3.2 几何数据类型8.4 字符串8.4.1 创建字符串8.4.2 类方法8.4.3 关于大小8.4.4 字符串比较8.4.5 不区分大小写的比较8.4.6 字符串内是否还包含别的字符串8.4.7 可变性8.5 集合大家族8.5.1 NSArray8.5.2 可变数组8.5.3 枚举8.5.4 快速枚举8.5.5 NSDictionary8.5.6 请不要乱来8.6 其他数值8.6.1 NSNumber8.6.2 NSValue8.6.3 NSNull8.7 示例:查找文件8.8 小结第9章 内存管理9.1 对象周期9.1.1 引用计数9.1.2 对象所有权9.1.3 访问方法中的保留和释放9.1.4 自动释放9.1.5 所有对象放入池中9.1.6 自动释放池的销毁时间9.1.7 自动释放池的工作流程9.2 Cocoa的内存管理规则9.2.1 临时对象9.2.2 拥有对象9.2.3 垃圾回收9.2.4 自动引用计数9.3 异常9.3.1 与异常有关的关键字9.3.2 捕捉不同类型的异常9.3.3 抛出异常9.3.4 异常也需要内存管理9.3.5 异常和自动释放池9.4 小结第10章 对象初始化10.1 分配对象10.1.1 初始化对象10.1.2 编写初始化方法10.1.3 初始化时要做些什么10.2 便利初始化函数10.3 更多部件改进10.3.1 Tire类的初始化10.3.2 更新main函数10.3.3 清理Car类10.4 Car类的内存清理(垃圾回收方式和ARC方施10.5 指定初始化函数10.5.1 子类化问题10.5.2 Tire类的初始化函数改进后的版本10.5.3 添加AllWeatherRadial类的初始化函数10.6 初始化函数规则10.7 小结第11章 属性11.1 使用属性值11.1.1 简化接口代码11.1.2 简化实现代码11.1.3 点表达式的妙用11.2 属性扩展11.2.1 名称的使用11.2.2 只读属性11.2.3 自己动手有时更好11.2.4 特性不是的11.3 小结第12章 类别12.1 创建类别12.1.1 开始创建类别12.1.2 @interface部分12.1.3 @implementation部分12.1.4 类别的缺陷12.1.5 类别的优势12.1.6 类扩展12.2 利用类别分散实现代码12.3 通过类别创建前向引用12.4 非正式协议和委托类别12.4.1 ITunesFinder项目12.4.2 委托和类别12.4.3 响应选择器12.4.4 选择器的其他应用12.5 小结第13章 协议13.1 正式协议13.1.1 声明协议13.1.2 采用协议13.1.3 实现协议13.2 复制13.2.1 复制Engine13.2.2 复制Tire13.2.3 复制Car13.2.4 协议和数据类型13.3 Objective-C 2.0的新特性13.4 委托方法13.5 小结第14章 代码块和并发性14.1 代码块14.1.1 代码块和函数指针14.1.2 Objective-C变量14.2 并发性14.2.1 同步14.2.2 队列也要内存管理14.2.3 操作队列14.3 小结第15章 AppKit简介15.1 构建项目15.2 创建委托文件的@interface部分15.3 Interface Builder15.4 设计用户界面15.5 创建连接15.5.1 连接输出口(IBOutlet)15.5.2 连接操作(IBAction)15.6 应用程序委托的实现15.7 小结第16章 UIKit简介16.1 视图控制器16.2 小结第17章 文件加载与保存17.1 属性列表17.1.1 NSDate17.1.2 NSData17.1.3 写入和读取属性列表17.1.4 修改对象类型17.2 编码对象17.3 小结第18章 键/值编码18.1 入门项目18.2 KVC简介18.3 键路径18.4 整体操作18.4.1 休息一下18.4.2 快速运算18.5 批处理18.6 nil仍然可用18.7 处理未定义的键18.8 小结第19章 使用静态分析器19.1 静态工作19.1.1 开始分析19.1.2 协助分析器19.1.3 了解更多19.2 小结第20章 NSPredicate20.1 创建谓词20.2 计算谓词20.3 数组过滤器20.4 格式说明符20.5 运算符20.5.1 比较和逻辑运算符20.5.2 数组运算符20.6 有SELF就足够了20.7 字符串运算符20.8 LIKE运算符20.9 结语附录 从其他语言转向Objective-C索引

 

内容提要

 


 

Objective-C是扩展C的面向对象编程语言,也是iPhone开发用到的主要语言。《Objective-C基础教程(第2版)》结合理论知识与示例程序,全面而系统地介绍了Objective-C编程的相关内容,包括Objective-C在C的基础上引入的特性、Cocoa工具包的功能及框架,以及继承、复合、源文件组织等众多重要的面向对象编程技术。附录中还介绍了如何从其他语言过渡到Objective-C。 《图灵程序设计丛书·移动开发系列:Objective-C基础教程(第2版)》适合各类开发人员阅读。

文摘

 


 

 

不仅可以将一个类的实现代码分散到多个不同的源文件中,还可以分散到多个不同的框架中。NSString是Foundation框架中的一个类,包含了许多面向数据的类,如字符串、数字和集合。所有的视觉组件(如窗口、颜色和绘图等)都包含在AppKit和uIKit中。虽然NSString类是在Foundation框架中声明的,但是AppKit中有一个Nsstring的类别,称为NSStringDrawing,该类别允许你向字符串发送绘图消息。在绘制一个字符串时,该方法会将字符串的文本渲染到屏幕上。由于这是一种图形功能,所以它是AppKit框架中的方法。不过Nsstring又是Foundation框架的对象。cocoa的设计人员通过类别使数据功能放在Foundation框架中,而绘图功能放在AppKit框架中。作为编程人员,我们直接使用NSStrin9类即可,通常不必关心某个方法来自何处。 12.3通过类别创建前向引用 前面提到过,Cocoa没有任何真正的私有方法。如果你知道对象支持的某个方法的名称,即使该对象所在的类的接口中没有声明该方法,你也可以调用它。 不过,编译器会尽力提供帮助。如果编译器发现你调用对象的某个方法,但是却没有找到该方法的声明或定义,那么它将发出这样的错误提示:warning:'CategoryThin9·may not respond to—setThing4:'。通常情况下,这种错误提示是有益的,因为它将有助于你捕捉许多输入错误。 不过,如果你的某些方法的实现使用了在类的@interface部分未列出的方法,编译器的这种警惕性会带来一些问题。对于为什么不想在类的@interface部分列出自己的方法,有许多充分的理由。这些方法可能是纯粹的实现细节,你可能将根据方法的名称来确定要使用哪个方法。但是不管怎样,如果你在使用自己的方法之前没有声明它们,编译器就会提出警告。而修复掉所有的编译器警告是一种良好的习惯,那么该如何去做呢? 如果能够先定义一个方法然后再使用它,编译器将会找到你的方法定义,因而不会产生警告。但是,如果不方便这样做,或者你使用的是另一个类中尚未发布的方法,那么就需要采取其他措施。通过类别来救急只要在类别中声明一个方法,编译器就会表示:“好了,该方法已经存在,如果遇到编程人员使用该方法,我不会提出警告。”实际上,如果你不想实现这个方法的话,放着不管就可以了。 常用的策略是将类别置于实现文件的前面。假设car类有一个名为rotateTires的方法。我们可以使用另一个名为moveTireFromPosition:toPosition:的方法来实现rotateTires方法,以交换两个位置的轮胎。第二个方法是实现细节,而不是将其放在car类的公共接口中。通过在类别中声明moVeTireFromPosition:toPosition:方法,rotateTires方法可以使用它,但不会引发编译器产生警告。 ……

 

作者介绍

 


 

Scott Knaster,Mac开发界传奇人物,曾就职于苹果公司,帮助开发人员编写早期平台的Mac软件。目前在谷歌工作,负责维护Google Mac Blog。著有多部程序员必读的经典著作,如How to Write Macintosh Software、Hacking Mac OS X Tiger和Macintosh Programming Secrets。Waqar Malik,UNIX迷,Macintosh控。早期曾就职于苹果公司,帮助开发Cocoa和Unix。目前创立了技术咨询公司CrimsoResearch,从事Cocoa应用开发工作。Mark Dalrymple,Mac和Unix程序员,有20多年开发经验,曾开发过跨平台工具包、因特网发布工具、高性能Web服务器和终端用户桌面应用。另外,他还与人合著过Core Mac OS X and Unix Programming和Advanced Mac OS X Programming。

 

...........

热门设计服务