编辑推荐
突出iOS新特性、涵盖Objective-C语法知识和iOS应用开发的核心知识
涵盖苹果力推的新技术HomeKit、HealthKit、watchOS 和Touch ID
301个典型实例+1个综合实例,全程10个小时的视频讲解
内容简介
本书共32章,循序渐进地讲解了Objective-C开发iOS应用程序的基本知识。本书从搭建开发环境讲起,依次讲解了Objective-C的基础,如常量、变量和数据类型,运算符和表达式,选择结构,循环结构;Objective-C的高级知识,如类、对象和方法、继承、多态、动态类型和异常处理;Objective-C的实战技术,如Foundation框架类详解,日期、时间、复制和谓词,文件操作,Xcode Interface Builder界面开发,使用Xcode编写MVC程序,基础控件,Web视图控件,可滚动视图控件和翻页控件,提醒、操作表和表视图,活动指示器、进度条和检索条,UIView和视图控制器,图形、图像、图层和动画,多媒体应用,定位处理,触摸、手势识别和Force Touch,Touch ID,游戏开发等。本书内容全面,几乎涵盖了Objective-C语言的核心语法知识和开发iOS应用程序所需要的主要技术,全书内容言简意赅,讲解方法通俗易懂,特别适合于初学者学习。
本书适合Objective-C初学者、Objective-C开发人员、iOS初学者、iOS程序员、iPhone开发人员、iPad开发人员学习,也可以作为相关培训学校和大专院校相关专业的教学用书。
作者简介
计算机科学技术学院硕士,通信工程博士,精通Java、C语言、C++程序开发,擅长底层技术和应用程序的结合。熟悉Android和iOS系统,有丰富的Android和iOS开发经验。
目录
第一篇 基础知识
第1章 认识“进步”最快的Objective-C语言 2
1.1 最耀眼的新星 2
1.1.1 一份统计数据 2
1.1.2 Objective-C的走红过程 3
1.1.3 究竟何为Objective-C 3
1.1.4 苹果公司选择Objective-C的原因 3
1.2 Objective-C的优点和缺点 4
1.3 搭建Objective-C开发环境 5
1.3.1 Xcode介绍 5
1.3.2 下载Xcode7 6
1.3.3 安装Xcode 7 6
1.3.4 创建iOS 9项目并启动模拟器 8
1.3.5 打开现有的iOS 9项目 9
1.4 第一段Objective-C程序 11
1.4.1 使用Xcode编辑代码 11
1.4.2 注释 14
1.4.3 #import指令 15
1.4.4 主函数 16
1.5 Xcode集成开发环境介绍 17
1.5.1 基本面板 17
1.5.2 Xcode 7的基本操作 22
1.5.3 使用Xcode 7帮助系统 29
第二篇 核心语法
第2章 常量、变量和数据类型 32
2.1 标识符和关键字 32
2.2 数据类型和常量 33
2.2.1 整数类型 33
2.2.2 float类型和double类型 35
2.2.3 char类型 36
2.2.4 字符常量 37
2.2.5 id类型 39
2.2.6 限定词 40
2.2.7 基本数据类型小结 41
2.2.8 NSLog函数 42
2.3 变量 43
2.3.1 定义变量 43
2.3.2 统一定义变量 45
2.4 字符串 46
第3章 运算符和表达式 47
3.1 运算符的种类 47
3.2 算术表达式 47
3.2.1 初步了解运算符的优先级 47
3.2.2 整数运算和一元负号运算符 49
3.2.3 模运算符 50
3.2.4 整型值和浮点值的相互转换 51
3.2.5 类型转换运算符 51
3.2.6 常量表达式 52
3.3 条件运算符 53
3.4 sizeof运算符 54
3.5 关系运算符 54
3.6 强制类型转换运算符 55
3.7 赋值运算符 56
3.7.1 基本赋值运算符 57
3.7.2 高级赋值运算符 57
3.7.3 通过计算器类演示运算符的用法 57
3.8 位运算符 59
3.8.1 按位与运算符 59
3.8.2 按位或运算符 59
3.8.3 按位异或运算符 60
3.8.4 求反运算符 60
3.8.5 向左移位运算符 61
3.8.6 向右移位运算符 61
3.8.7 头文件 62
3.9 逻辑运算符 62
3.10 逗号运算符 63
3.11 运算符小结 64
第4章 选择结构 66
4.1 顺序结构和选择结构 66
4.2 if语句 66
4.2.1 单分支结构 67
4.2.2 双分支结构 69
4.2.3 复合条件测试 70
4.2.4 if语句的嵌套 72
4.2.5 else if结构 74
4.3 switch语句 79
4.3.1 switch语句基础 79
4.3.2 任何两种情况的值都不能相同 80
4.3.3 switch语句小结 81
第5章 循环结构 82
5.1 语句 82
5.2 流程控制介绍 82
5.3 for循环语句 83
5.3.1 for循环基础 83
5.3.2 for语句的执行步骤 86
5.3.3 让for循环执行适当的次数 88
5.3.4 for循环嵌套 89
5.3.5 for循环的其他用法 90
5.4 while语句 91
5.4.1 基本while语句 91
5.4.2 算法在编程中的意义 93
5.4.3 while语句的陷阱 94
5.4.4 do-while语句 95
5.5 break语句 96
5.6 continue语句 97
5.7 goto语句 98
5.8 空语句 99
5.9 return语句 100
5.10 Boolean变量 100
第三篇 面向对象
第6章 面向对象——类、对象和方法 104
6.1 面向对象介绍 104
6.2 对象建模技术 105
6.2.1 功能模型 105
6.2.2 对象模型 105
6.2.3 动态模型 106
6.3 类的基础知识 106
6.3.1 类和实例 106
6.3.2 方法 106
6.3.3 实例和方法 107
6.3.4 认识Objective-C中的类 107
6.4 使用@interface定义类 108
6.4.1 设置科学的类名 109
6.4.2 实例变量 110
6.5 使用@implementation声明成员 111
6.6 program具体实现部分 112
6.7 类的使用 113
6.7.1 类的初始化 114
6.7.2 使用类实例 115
6.7.3 使用类的好处 116
6.8 类的高级应用 117
6.8.1 访问实例变量并封装数据 118
6.8.2 尽量分离接口和实现文件 119
6.9 隐藏和封装 122
6.9.1 什么是封装 122
6.9.2 访问控制符 123
6.9.3 合成存取器方法 125
6.9.4 使用点运算符访问属性 125
6.10 多参方法 126
6.10.1 不带参数名的方法 128
6.10.2 操作分数 128
6.11 局部变量 129
6.11.1 方法的参数 129
6.11.2 static关键字 130
6.11.3 self关键字 131
6.12 在方法中分配和返回对象 131
第7章 面向对象——继承 135
7.1 从根类谈起 135
7.1.1 继承的好处 135
7.1.2 继承的使用 137
7.1.3 进一步理解继承的概念 137
7.1.4 重写方法 139
7.2 方法重载 141
7.2.1 方法重载基础 141
7.2.2 重载的作用 142
7.2.3 选择正确的方法 143
7.2.4 重载dealloc方法 144
7.2.5 使用super关键字 145
7.2.6 连续继承 147
7.3 通过继承添加新的实例变量 147
7.4 调用动态方法 148
7.5 访问控制 150
7.6 Category类别 151
第8章 多态、动态类型和异常处理 154
8.1 多态 154
8.1.1 多态基础 154
8.1.2 实现多态 156
8.1.3 指针变量的强制类型转换 159
8.1.4 判断指针变量的实际类型 160
8.2 动态绑定和id类型 161
8.2.1 id类型的优势 161
8.2.2 与C#的比较说明 162
8.2.3 编译时和运行时检查 162
8.2.4 id数据类型与静态类型 163
8.2.5 动态类型的参数和返回类型 163
8.2.6 处理动态类型的方法 164
8.3 异常处理 166
8.3.1 用@try处理异常 166
8.3.2 使用@finally回收资源 168
8.3.3 自定义异常类 169
8.3.4 和C++异常处理进行比较 170
第9章 类别、协议和合成对象 172
9.1 类别 172
9.1.1 定义类别 172
9.1.2 类别的使用 174
9.1.3 用类别实现模块化设计 175
9.1.4 使用类别调用私有方法 179
9.1.5 扩展 179
9.2 协议 181
9.2.1 使用类别实现非正式协议 181
9.2.2 定义正式协议 183
9.2.3 遵守(实现)协议 185
9.2.4 协议和委托 187
9.3 合成对象 190
第10章 预处理程序 194
10.1 宏定义 194
10.1.1 无参宏定义 194
10.1.2 带参宏定义 196
10.1.3 #define语句的作用 199
10.1.4 高级类型定义 200
10.1.5 #运算符 202
10.1.6 ##运算符 203
10.2 #import语句 203
10.3 条件编译 205
10.3.1 #ifdef、#endif、#else和#ifndef语句 205
10.3.2 #if和#elif预处理程序语句 206
第11章 深入理解变量和数据类型 208
11.1 内存布局 208
11.2 自动变量 208
11.3 外部变量 209
11.4 作用域 210
11.4.1 控制实例变量作用域的指令 210
11.4.2 外部变量 210
11.4.3 静态变量 212
11.4.4 选择局部变量和全局变量 213
11.4.5 复合语句和作用域 213
11.5 存储类说明符 214
11.5.1 auto 214
11.5.2 const 214
11.5.3 volatile 215
11.5.4 static 216
11.5.5 extern 216
11.6 枚举数据类型 216
11.7 typedef语句 218
第四篇 知识进阶
第12章 Foundation框架类详解 222
12.1 数字对象 222
12.2 字符串处理 224
12.2.1 创建字符串对象 225
12.2.2 可变对象与不可变对象 227
12.2.3 可变字符串 231
12.2.4 释放字符串对象 233
12.3 数组对象 235
12.3.1 数组的存储 235
12.3.2 数组的比较机制 238
12.3.3 调用数组元素 239
12.3.4 操作数组对象 240
12.3.5 返回操作并生成访问器方法 242
12.3.6 枚举操作 244
12.3.7 使用枚举遍历查询信息 246
12.3.8 删除信息 248
12.3.9 数组排序 250
12.3.10 KVC和KVO开发 254
12.4 字典对象 255
12.4.1 NSDictionary功能介绍 255
12.4.2 创建可变字典 256
12.4.3 枚举字典 257
12.5 集合对象 258
12.5.1 NSSet类介绍 260
12.5.2 重复判断操作 262
12.5.3 NSMutableSet可编辑集合 263
12.5.4 NSCountedSet状态集合 264
12.5.5 有序集合 265
第13章 日期、时间、复制和谓词 267
13.1 赋值和复制 267
13.2 copy方法和mutableCopy方法的使用 267
13.3 浅复制和深复制 270
13.3.1 独立副本 271
13.3.2 复制的应用 271
13.4 使用alloc+init...方式实现复制 273
13.5 NSCopyObject()的使用 273
13.6 用自定义类实现复制 274
13.7 用赋值方法和取值方法复制对象 276
13.8 复制可变和不可变对象 277
13.9 使用setter方法复制 278
13.10 谓词 278
13.10.1 创建谓词 279
13.10.2 用谓词过滤集合 279
13.10.3 在谓词中使用格式说明符 280
13.11 日期和时间处理 281
13.12 日期格式器 282
13.13 日历和日期组件 284
第14章 和C语言同质化的数据类型(上) 286
14.1 数组 286
14.1.1 一维数组 286
14.1.2 二维数组 288
14.1.3 显式初始化二维数组 289
14.1.4 多维数组的定义 291
14.1.5 多维数组的初始化 292
14.1.6 字符数组 294
14.2 函数 297
14.2.1 函数的种类 297
14.2.2 定义函数 299
14.2.3 函数的声明 299
14.2.4 函数原型 301
14.2.5 函数的参数 301
14.2.6 返回值 303
14.2.7 声明返回类型和参数类型 304
14.2.8 调用函数 305
14.2.9 函数的嵌套调用和递归调用 305
14.2.10 数组作为函数的参数 307
14.2.11 内部函数和外部函数 309
14.3 变量的作用域和生存期 310
14.3.1 变量的作用域 310
14.3.2 静态存储变量和动态存储变量 313
14.4 结构体 314
14.4.1 结构体基础 314
14.4.2 结构体变量的初始化 318
14.4.3 结构体数组 322
14.4.4 结构体和函数 324
14.4.5 结构体中的结构体 325
14.4.6 位字段 326
14.4.7 typedef 327
第15章 和C语言同质化的数据类型(下) 328
15.1 指针 328
15.1.1 指针基础 328
15.1.2 指针变量的运算 331
15.1.3 指针变量作为函数参数 334
15.1.4 指针和数组 335
15.1.5 指针和多维数组 339
15.1.6 指针和字符串 341
15.1.7 指针数组和多级指针 346
15.1.8 指针函数和函数指针 348
15.1.9 结构体指针 352
15.2 共用体 354
15.2.1 定义共用体类型和共用体变量 354
15.2.2 引用共用体变量 355
15.3 块 357
15.3.1 块的基本语法 357
15.3.2 块和局部变量 358
15.3.3 用typedef定义块类型 359
第16章 文件操作 361
16.1 Foundation框架的文件操作 361
16.2 用NSFileManager管理文件和目录 361
16.2.1 NSFileManager基础 362
16.2.2 访问文件属性和内容 365
16.2.3 使用NSData类 366
16.2.4 创建、删除、移动和复制文件 367
16.2.5 目录操作 367
16.2.6 枚举目录中的内容 369
16.2.7 查看目录的内容 371
16.3 路径操作类 372
16.3.1 常用的路径处理方法 374
16.3.2 复制文件 375
16.3.3 使用NSProcessInfo获取进程信息 377
16.4 用NSFileHandle实现文件I/O操作 378
16.5 使用NSURL读取网络资源 380
16.6 使用NSBundle处理项目资源 382
第17章 归档 384
17.1 使用XML属性列表进行归档 384
17.2 使用NSKeyedArchiver归档 385
17.3 NSCoding协议 388
17.4 编码方法和解码方法 389
17.5 使用NSData创建自定义文档 390
17.6 使用归档程序复制对象 391
17.7 归档总结 392
第五篇 核心组件
第18章 Xcode IB界面开发 396
18.1 IB基础 396
18.2 和IB密切相关的库面板 398
18.3 IB采用的方法 399
18.4 IB中的故事板 399
18.4.1 推出的背景 400
18.4.2 故事板的文档大纲 400
18.4.3 文档大纲的区域对象 401
18.5 创建界面 402
18.5.1 对象库 402
18.5.2 将对象加入到视图中 403
18.5.3 使用IB布局工具 404
18.6 定制界面外观 406
18.6.1 属性检查器的使用 406
18.6.2 设置辅助功能属性 407
18.6.3 测试界面 408
18.7 iOS 9控件的属性 408
18.8 实战演练——将界面的控件连接到代码 409
18.8.1 打开项目 409
18.8.2 输出口和操作 410
18.8.3 创建到输出口的连接 410
18.8.4 创建到操作的连接 412
18.9 实战演练——纯代码实现UI设计 413
第19章 使用Xcode编写MVC程序 416
19.1 MVC模式基础 416
19.1.1 诞生背景 416
19.1.2 分析结构 416
19.1.3 MVC的特点 417
19.1.4 使用MVC实
Objective-C应用开发全程实录 电子书 下载 mobi epub pdf txt