Objective-C入门经典

978-7-115-29886-7
作者: 【美】Jesse Feiler
译者: 陈昕昕郭光伟
编辑: 傅道坤

图书目录:

目 录

第 1部分

第 1章 Objective-C概述 2

1.1 Objective-C简介 2

1.2 注册成为Apple开发者 3

1.2.1 选择适合自己的计划 3

1.2.2 选择自己的会员类别 4

1.2.3 注册自己的Apple ID 5

1.3 配置开发环境 5

1.3.1 Xcode简介 5

1.3.2 运行第 一个项目 6

1.4 总结 12

1.5 问与答 12

1.6 测验 12

1.6.1 问题 12

1.6.2 答案 12

1.7 练习 13

第 2章 使用Objective-C进行面向对象程序设计 14

2.1 Objective-C世界中的面向对象程序设计 14

2.1.1 实现面向对象程序设计 14

2.1.2 构建面向对象项目 15

2.1.3 框架初探 15

2.2 使用对象创建C 16

2.2.1 理解数据抽象 17

2.2.2 研究封装 17

2.2.3 使用访问器(Accessor)管理封装 19

2.3 管理Objective-C世界中的继承 20

2.4 总结 21

2.5 问与答 21

2.6 测验 21

2.6.1 问题 21

2.6.2 答案 21

2.7 练习 22

第3章 使用Objective-C中的面向对象特性 23

3.1 使用消息与方法进行通信 23

3.1.1 简单消息 23

3.1.2 声明方法 24

3.1.3 使用类方法 24

3.1.4 使用id——强和弱类型变量 25

3.1.5 嵌套消息 25

3.1.6 方法签名和参数初探 26

3.2 分配和初始化对象 27

3.3 总结 27

3.4 问与答 28

3.5 测验 28

3.5.1 问题 28

3.5.2 答案 28

3.6 练习 28

第4章 使用Git源代码仓库来组织项目 29

4.1 开始使用Xcode 29

4.2 跟踪源代码 32

4.2.1 源代码控制探究 33

4.2.2 在源代码仓库的世界中工作 34

4.2.3 在Xcode中使用Git 35

4.3 使用远程仓库 43

4.4 总结 46

4.5 问与答 46

4.6 测验 47

4.6.1 问题 47

4.6.2 答案 47

4.7 练习 47

第5章 使用编译器指令 48

5.1 浏览项目 48

5.2 使用编译器指令 50

5.2.1 使用基础指令 50

5.2.2 Prefix头初探 50

5.2.3 main.m中的普通C代码初探 51

5.2.4 研究头(.h)文件 52

5.2.5 深入探究消息(.m)文件 53

5.3 使用Objective-C编译器指令 55

5.4 总结 55

5.5 问与答 55

5.6 测验 55

5.6.1 问题 55

5.6.2 答案 56

5.7 练习 56

第 2部分

第6章 消息和试验床应用程序探究 58

6.1 创建测试应用 58

6.2 添加一个文本域并将其与代码连接起来 61

6.3 向文本域发送消息 67

6.4 复习消息语法 68

6.5 总结 69

6.6 问与答 69

6.7 测验 69

6.7.1 问题 69

6.7.2 答案 69

6.8 练习 70

第7章 在接口文件中声明类 71

7.1 让Xcode完成工作 71

7.1.1 设计类 71

7.1.2 准备创建类 72

7.2 浏览类层次 76

7.2.1 调用超类中的方法 76

7.2.2 协议简介 77

7.3 声明类 78

7.3.1 编写基本的类声明 78

7.3.2 使用前向引用 79

7.4 总结 79

7.5 问与答 80

7.6 测验 80

7.6.1 问题 80

7.6.2 答案 80

7.7 练习 80

第8章 在接口文件中声明实例变量 81

8.1 声明实例变量和属性 81

8.2 使用类 81

8.2.1 将类实例放置在上下文中 82

8.2.2 选择上下文 82

8.3 使用id创建一个引用CurrencyConverter的实例变量 83

8.4 使用类名称创建一个引用CurrencyConverter的实例变量 85

8.5 使用超类名创建一个引用CurrencyConverter的实例变量 87

8.6 管理实例变量的作用域 89

8.7 总结 90

8.8 问与答 90

8.9 测验 90

8.9.1 问题 90

8.9.2 答案 90

8.10 练习 90

第9章 在接口文件中声明属性 91

9.1 接口变量和属性比较 91

9.1.1 复习基本的变量声明 92

9.1.2 创建声明属性:基础 93

9.1.3 处理对象占用的内存 94

9.1.4 使用声明属性(Properties)的特性(Attributes) 95

9.2 使用声明属性 95

9.2.1 使用消息语法访问属性 96

9.2.2 使用点语法访问属性 96

9.3 使用特性(Attributes) 97

9.3.1 访问器方法 97

9.3.2 可写性 98

9.3.3 Setter语义 98

9.3.4 原子性 98

9.4 使用其他特性装饰器 99

9.5 实现属性 99

9.5.1 使用@synthesize创建访问器 99

9.5.2 使用@dynamic允诺数据 100

9.6 总结 100

9.7 问与答 100

9.8 测验 100

9.8.1 问题 100

9.8.2 答案 101

9.9 练习 101

第 10章 在接口文件中声明方法 102

10.1 使用类中的方法 102

10.2 复习方法语法 103

10.2.1 区分类和实例方法 103

10.2.2 方法声明探究 104

10.2.3 编写方法声明 106

10.2.4 从方法返回复杂数据结构 106

10.3 总结 107

10.4 问与答 107

10.5 测验 107

10.5.1 问题 107

10.5.2 答案 108

10.6 练习 108

第 11章 在接口文件中声明动作 109

11.1 动作简介 109

11.2 Mac OS X和iOS中的动作比较 118

11.2.1 断开与动作的连接 120

11.3 问与答 120

11.4 测验 121

11.4.1 问题 121

11.4.2 答案 121

11.5 练习 121

第 12章 使用选择器路由消息 122

12.1 深入研究Objective-C消息 122

12.2 深入研究Objective-C运行时 123

12.3 使用SEL和@selector() 124

12.4 使用performSelector 125

12.4.1 使用@selector ()创建选择器 125

12.4.2 根据字符串创建选择器 126

12.4.3 使用选择器 126

12.5 使用NSInvocation 128

12.5.1 创建NSInvocation 128

12.5.2 使用NSInvocation属性 129

12.5.3 调用NSInvocation 130

12.6 测试一个实例是否能够响应选择器 131

12.7 总结 131

12.8 问与答 131

12.9 测验 132

12.9.1 问题 132

12.9.2 答案 132

12.10 练习 132

第 13章 基于Foundation框架构建应用程序 133

13.1 Foundation框架探究 133

13.2 Foundation类 134

13.2.1 根类 134

13.2.2 其他类 135

13.3 Foundation范式与策略 136

13.3.1 可变性 136

13.3.2 类簇 136

13.3.3 通知 137

13.4 总结 139

13.5 问与答 139

13.6 测验 140

13.6.1 问题 140

13.6.2 答案 140

13.7 练习 140

第 14章 在实现文件中定义一个类 141

14.1 创建一个新项目 141

14.1.1 重新思考动态类型 142

14.1.2 设计(Currency)Converter 142

14.2 创建新应用 144

14.3 实现方法 147

14.4 使用init方法扩展类 150

14.5 总结 151

14.6 问与答 151

14.7 测验 151

14.7.1 问题 151

14.7.2 答案 152

14.8 练习 152

第 15章 使用集合组织数据 153

15.1 收集对象 153

15.2 熟悉属性列表 155

15.2.1 在属性列表中使用集合 155

15.2.2 在运行时根据属性列表构建集合 156

15.3 集合类比较 156

15.4 创建集合 157

15.4.1 使用公共集合创建方法 157

15.4.2 读取和写入数组 158

15.4.3 读取和写入字典 159

15.4.4 创建集合 160

15.5 枚举集合 160

15.5.1 NSEnumerator方法探究 160

15.5.2 为集合创建NSEnumerator实例 160

15.6 测试集合中的成员关系 162

15.7 访问集合中的对象 162

15.8 总结 163

15.9 问与答 163

15.10 测验 163

15.10.1 问题 163

15.10.2 答案 163

15.11 练习 164

第 16章 管理内存和运行时对象 165

16.1 管理内存中的对象 165

16.2 手工管理引用计数 166

16.2.1 释放对象 167

16.2.2 向Converter添加内存管理功能 167

16.2.3 内存管理小结 169

16.3 使用ARC管理引用计数 169

16.3.1 使用声明属性特性 169

16.3.2 优化Converter 170

16.4 变量限定符 171

16.5 自动释放变量 171

16.6 总结 172

16.7 问与答 172

16.8 测验 172

16.8.1 问题 172

16.8.2 答案 172

16.9 练习 172

第3部分

第 17章 使用协议和委托(Delegate)扩展一个类 176

17.1 子类化的优缺点探究 176

17.2 Multiple Detail Views示例代码探究 177

17.3 深入协议 181

17.4 使用委托 182

17.4.1 从头文件中获取更多帮助 183

17.4.2 在Interface Builder中查看连接 183

17.5 总结 185

17.6 问与答 185

17.7 测验 185

17.7.1 问题 185

17.7.2 答案 186

17.8 练习 186

第 18章 使用分类和扩展(Extension)扩充一个类 187

18.1 分类和协议比较 187

18.1.1 选择何时使用分类 187

18.1.2 分类与其他技术比较 188

18.2 分类和子类比较 188

18.2.1 修改类层次 188

18.2.2 将变更限制在分类中 189

18.3 使用分类 189

18.4 使用类扩展 192

18.5 使用非正式协议 192

18.6 总结 192

18.7 问与答 192

18.8 测验 193

18.8.1 问题 193

18.8.2 答案 193

18.9 练习 193

第 19章 使用关联引用和快速枚举 194

19.1 学习Objective-C 2.0中节省时间的特性 194

19.2 通过添加实例变量(部分)扩展类 195

19.2.1 添加一个关联引用 195

19.2.2 读取和设置一个关联引用 196

19.2.3 根据键删除一个关联引用 198

19.2.4 删除一个对象中的所有关联引用 198

19.3 使用快速枚举 198

19.3.1 使用快速枚举 198

19.3.2 通过一个NSEnumerator使用快速枚举 199

19.4 总结 200

19.5 问与答 200

19.6 测验 200

19.6.1 问题 200

19.6.2 答案 200

19.7 练习 200

第 20章 使用块 201

20.1 复习块 201

20.2 回调函数探究 202

20.3 引入块 204

20.3.1 创建块作为块变量 205

20.3.2 使用块变量 205

20.4 学习Cocoa中的块 207

20.4.1 NSString中的方法enumerateLinesUsingBlock: 207

20.4.2 NSArray enumerateObjectsUsingBlock: 208

20.4.3 NSSet enumerateObjectsUsingBlock: 208

20.4.4 NSDictionary enumerateKeysAndObjectsUsingBlock: 208

20.5 深入研究Cocoa块和内存 208

20.6 总结 209

20.7 问与答 209

20.8 测验 209

20.8.1 问题 209

20.8.2 答案 210

20.9 练习 210

第4部分

第 21章 处理异常 212

21.1 重新思考异常和错误 212

21.2 异常和错误类介绍 213

21.2.1 使用异常 213

21.2.2 使用错误 214

21.2.3 深入学习NSException 214

21.2.4 深入学习NSError 214

21.3 识别一个异常 216

21.4 抛出一个异常 217

21.5 捕获一个异常 218

21.6 总结 218

21.7 问与答 219

21.8 测验 219

21.8.1 问题 219

21.8.2 答案 219

21.9 练习 219

第 22章 集中分发:使用队列和线程 220

22.1 开始使用并发 220

22.1.1 深入研究计算机中的处理器 220

22.1.2 在不重写用户应用的情况下使用并发 221

22.1.3 使用线程实现并发 221

22.1.4 集中分发(GCD)简介 222

22.2 队列简介 222

22.2.1 分发队列 223

22.2.2 分发源 223

22.2.3 操作队列 224

22.3 使用分发队列 224

22.3.1 使用全局并发分发队列 224

22.3.2 向全局并发队列添加任务 225

22.3.3 使用队列设计应用 225

22.4 总结 226

22.5 问与答 226

22.6 测验 226

22.6.1 问题 226

22.6.2 答案 226

22.7 练习 226

第 23章 使用调试器 228

23.1 记录信息 228

23.2 使用控制台日志 229

23.2.1 使用NSLog 229

23.2.2 增强NSLog 230

23.3 使用智能断点 231

23.3.1 使用消息增强断点 232

23.3.2 根据条件触发 234

23.4 总结 235

23.5 问与答 235

23.6 测验 236

23.6.1 问题 236

23.6.2 答案 236

23.7 练习 236

第 24章 使用Instruments来分析 237

24.1 考虑使用Instruments 237

24.2 深入学习Instruments 239

24.3 开始使用Instruments 241

24.4 连接到iOS模拟器 243

24.5 总结 244

24.6 问与答 245

24.7 测验 245

24.7.1 问题 245

24.7.2 答案 245

24.8 练习 245

第5部分

附录A C语法小结 248

A.1 数据类型 248

A.1.1 枚举类型 248

A.1.2 Struct类型 249

A.1.3 指针 249

A.1.4 数组 249

A.2 控制结构 250

A.2.1 if语句 250

A.2.2 switch语句 250

A.2.3 重复语句 250

附录B 应用、包和Bundle 251

附录C 为开发和测试对应用进行归档和打包 255

附录D Xcode 4简介 258

D.1 了解Xcode 258

D.2 再见“Hello World” 259

D.2.1 使用命令式和声明式程序设计范式 259

D.2.2 使用面向对象程序设计 260

D.3 Mac OS X和iOS平台应用开发简介 261

D.4 开始使用Xcode 262

D.5 使用导航栏 264

D.5.1 项目Win-1 264

D.5.2 符号Win-2 267

D.5.3 搜索Win-3 268

D.5.4 问题Win-4 269

D.5.5 调试Win-5 270

D.5.6 断点Win-6 270

D.5.7 日志Win-7 271

D.6 使用编辑器 272

D.6.1 使用编辑模式 272

D.6.2 使用跳转栏 272

D.7 使用辅助 275

D.8 在编辑器窗口中获取帮助 276

D.9 使用实用工具——检查器 276

D.10 使用实用工具——库 279

D.10.1 文件模板库 280

D.10.2 代码片段库 281

D.10.3 对象库 283

D.10.4 媒体库 283

D.11 使用文本编辑器 283

D.11.1 设置编辑首选项 284

D.11.2 使用Fix-It和代码补全 286

D.12 使用Organizer窗口 287

详情

Objective-C是用于为iOS和Max OS X开发软件的一门编程语言,使用它可以更为片便捷地开发出功能强大的app。本书通过简明的语言和详细的步骤,以循序渐进的方式帮助读者掌握使用Objective-C开发app所需要的基本知识。

图书摘要

相关图书

iOS 14开发指南【进QQ群414744032索取配套资源】
iOS 14开发指南【进QQ群414744032索取配套资源】
iOS 11 开发指南
iOS 11 开发指南
iOS和tvOS 2D游戏开发教程
iOS和tvOS 2D游戏开发教程
Swift 3开发指南
Swift 3开发指南
iOS  项目开发全程实录
iOS 项目开发全程实录
iOS 10 开发指南
iOS 10 开发指南

相关文章

相关课程