×
Objective-C应用开发全程实录-(附光盘)

Objective-C应用开发全程实录-(附光盘)

1星价 ¥69.3 (7.0折)
2星价¥69.3 定价¥99.0
暂无评论
图文详情
  • ISBN:9787115437204
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:32开
  • 页数:634
  • 出版时间:2017-01-01
  • 条形码:9787115437204 ; 978-7-115-43720-4

本书特色

本书共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开发人员学习,也可以作为相关培训学校和大专院校相关专业的教学用书。

内容简介

突出iOS新特性、涵盖Objective-C语法知识和iOS应用开发的核心知识 涵盖苹果力推的新技术HomeKit、HealthKit、watchOS 和Touch ID 301个典型实例 1个综合实例,全程10个小时的视频讲解

目录

**篇 基础知识

第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实现程序设计的结构化 417

19.2 Xcode中的MVC 418

19.2.1 基本原理 418

19.2.2 MVC的模板 418

19.3 在Xcode中实现MVC 419

19.3.1 视图 419

19.3.2 视图控制器 419

19.4 数据模型 420

19.5 实战演练——使用Single View Application模板 421

19.5.1 创建项目 422

19.5.2 规划变量和连接 425

19.5.3 设计界面 426

19.5.4 创建并连接输出口和操作 427

19.5.5 实现应用程序逻辑 430

19.5.6 生成应用程序 431

第20章 基础控件介绍 432

20.1 文本框 432

20.1.1 实战演练——实现用户登录界面 432

20.1.2 实战演练——限制输入文本的长度 433

20.2 文本视图 434

20.2.1 实战演练——拖动输入的文本 434

20.2.2 实战演练——关闭虚拟键盘的输入动作 435

20.3 标签 436

20.3.1 实战演练——使用标签显示一段文本 436

20.3.2 实战演练——复制标签中的文本 437

20.4 按钮 439

20.4.1 实战演练——自定义按钮的图案 440

20.4.2 实战演练——实现丰富多彩的控制按钮 442

20.5 滑块控件 443

20.5.1 实战演练——实现自动显示刻度的滑动条 443

20.5.2 实战演练——实现带刻度的滑动条 446

20.6 实战演练——设置指定样式的步进控件 447

20.7 图像视图控件 451

20.7.1 实战演练——实现图片浏览器 452

20.7.2 实战演练——实现幻灯片播放器效果 454

20.8 开关控件 455

20.8.1 实战演练——改变开关控件的文本和颜色 455

20.8.2 实战演练——创建并使用开关控件 457

20.9 分段控件 458

20.9.1 实战演练——分段控件的使用 458

20.9.2 实战演练——使用分段控件控制背景颜色 460

20.10 工具栏 461

20.10.1 实战演练——自定义工具栏控件的颜色和样式 461

20.10.2 实战演练——自定义工具栏 465

20.11 选择器视图 466

20.11.1 实战演练——实现两个选择器视图控件间的数据依赖 466

20.11.2 实战演练——实现单列选择器 468

20.12 日期选择控件 470

20.12.1 实战演练——使用日期选择器自动选择时间 470

20.12.2 实战演练——在屏幕中显示日期选择器 471

第21章 Web视图控件、可滚动视图控件和翻页控件 473

21.1 Web视图 473

21.1.1 实战演练——在Web视图控件中调用JavaScript脚本 473

21.1.2 实战演练——实现一个迷你浏览器 475

21.2 可滚动的视图 477

21.2.1 实战演练——可滚动视图控件的使用 477

21.2.2 实战演练——通过滚动屏幕的方式浏览信息 478

21.3 翻页控件 480

21.3.1 翻页控件基础 480

21.3.2 实战演练——自定义翻页控件的的外观样式 481

第22章 提醒、操作表和表视图 483

22.1 提醒视图 483

22.1.1 实战演练——自定义提醒控件的外观 483

22.1.2 实战演练——实现带输入框的提示框 486

22.2 操作表 488

22.2.1 实战演练——使用操作表控件定制按钮面板 488

22.2.2 实战演练——实现图片选择器 489

22.3 使用表视图 491

22.3.1 实战演练——拆分表视图 491

22.3.2 实战演练——实现图文样式联系人列表效果 493

第23章 活动指示器、进度条和检索控件 495

23.1 活动指示器 495

23.1.1 实战演练——实现不同外观的活动指示器 495

23.1.2 实战演练——实现环形进度条效果 496

23.2 进度条 498

23.2.1 实战演练——自定义外观样式的进度条 498

23.2.2 实战演练——实现多个具有动态条纹背景的进度条 501

23.3 检索条 504

23.3.1 实战演练——使用检索控件快速搜索信息 504

23.3.2 实战演练——使用UISearchDisplayController实现搜索功能 507

第24章 UIView和视图控制器详解 510

24.1 UIView基础 510

24.1.1 UIView的结构 510

24.1.2 视图架构 512

24.1.3 实战演练——给任意UIView视图的4条边框加上阴影 513

24.2 实战演练——使用导航控制器手动旋转屏幕 515

24.3 使用UINavigationController 517

24.3.1 UINavigationController详解 517

24.3.2 实战演练——实现界面导航条功能 518

24.4 选项卡栏控制器 521

24.4.1 实战演练——使用动态单元格定制表格行 521

24.4.2 实战演练——使用Segue实现过渡效果 523

第25章 UICollectionView和UIVisualEffectView控件 525

25.1 UICollectionView控件详解 525

25.1.1 UICollectionView的构成 525

25.1.2 实现简单的UICollectionView 526

25.1.3 自定义UICollectionViewLayout 529

25.1.4 实战演练——使用UICollectionView控件实现网格效果 529

25.2 UIVisualEffectView控件详解 532

25.2.1 UIVisualEffectView基础 532

25.2.2 使用VisualEffectView控件实现模糊特效 534

25.2.3 使用VisualEffectView实现Vibrancy效果 534

25.2.4 实战演练——在屏幕中实现模糊效果 536

第六篇 典型应用

第26章 图形、图像、图层和动画 540

26.1 图形处理 540

26.1.1 实战演练——在屏幕中绘制三角形 540

26.1.2 实战演练——绘制几何图形 542

26.2 图像处理 543

26.2.1 实战演练——在屏幕中绘制图像 544

26.2.2 实战演练——实现对图片的旋转和缩放 545

26.3 图层 545

26.3.1 视图和图层 546

26.3.2 实战演练——实现图片、文字及其翻转效果 546

26.4 实现动画 547

26.4.1 实战演练——使用动画样式显示电量使用情况 547

26.4.2 实战演练——使用属性动画 550

第27章 多媒体应用 553

27.1 访问声音服务 553

27.1.1 声音服务基础 553

27.1.2 实战演练——播放声音文件 554

27.2 提醒和振动 557

27.2.1 播放提醒音 558

27.2.2 实战演练——使用iOS的提醒功能 558

27.3 Media Player框架 566

27.3.1 Media Player框架中的类 567

27.3.2 实战演练——使用Media Player播放视频 567

27.4 AV Foundation框架 570

27.4.1 准备工作 571

27.4.2 实战演练——使用AV Foundation框架播放视频 571

27.5 图像选择器 574

27.5.1 使用图像选择器 574

27.5.2 实战演练——获取图片并缩放 575

第28章 定位处理 580

28.1 Core Location框架 580

28.1.1 Core Location基础 580

28.1.2 使用流程 580

28.2 获取位置 582

28.2.1 位置管理器委托 583

28.2.2 获取航向 584

28.3 地图功能 585

28.3.1 Map Kit基础 585

28.3.2 为地图添加标注 586

28.4 实战演练——定位当前的位置信息 587

第29章 触摸、手势识别和Force Touch 590

29.1 多点触摸和手势识别基础 590

29.2 触摸处理 590

29.2.1 触摸事件和视图 591

29.2.2 iOS中的手势操作 595

29.2.3 实战演练——触摸的方式移动视图 596

29.3 手势处理 597

29.4 Force Touch技术 602

29.4.1 Force Touch介绍 602

29.4.2 Force Touch API介绍 603

29.4.3 实战演练——使用Force Touch 604

第30章 Touch ID详解 607

30.1 初步认识Touch ID 607

30.2 开发Touch ID应用程序 609

30.2.1 Touch ID的官方资料 609

30.2.2 实战演练——Touch ID认证综合应用 609

第31章 游戏开发 616

31.1 Sprite Kit框架基础 616

31.1.1 Sprite Kit的优点和缺点 616

31.1.2 Sprite Kit、Cocos2D、Cocos2D-X和Unity的选择 616

31.2 实战演练——开发一个Sprite Kit游戏程序 617

第七篇 综合实战

第32章 房屋出租管理系统的开发 628

32.1 系统功能介绍 628

32.2 具体实现 628

32.2.1 实现接口文件 628

32.2.2 实现系统主界面 631

32.2.3 实现用户登录界面 633



展开全部

作者简介

计算机科学技术学院硕士,通信工程博士,精通Java、C语言、C 程序开发,擅长底层技术和应用程序的结合。熟悉Android和iOS系统,有丰富的Android和iOS开发经验。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航