当前位置:首页 > 工业技术
iOS 8 Swift编程指南
iOS 8 Swift编程指南

iOS 8 Swift编程指南PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:杨宏焱著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2015
  • ISBN:9787121260889
  • 页数:474 页
图书介绍:本书创新性地将语言和框架结合起来介绍。全书分为两部分:第一部分是 Swift 语言介绍,共4章;第二部分则是iOS 8特性的介绍,从App开发者的角度阐发Swift语言在新SDK上的实际应用。本书在介绍iOS 8每个特性的过程中,配以丰富的Swift 代码案例,以此让读者在学习iOS 8的同时,积累大量的 Swift 编码经验。
《iOS 8 Swift编程指南》目录
标签:编程 指南

第一部分 Swift语言编程指南 2

第1章 Swift初见 2

1.1 什么是Swift 2

1.2 为什么要学习Swift 3

1.3 Objective-C程序员学习Swift需要特别关注的地方 3

1.3.1 类型推断与类型安全 4

1.3.2 泛型 5

1.3.3 数组和字典 6

1.3.4 字符串 7

1.3.5 switch语句 8

1.4 关于Swift初学者的一些问题 9

1.4.1 从哪里获得Swift 9

1.4.2 是否需要先学Objective-C,再学Swift 9

1.4.3 “老鸟”们学习Swift是否会更轻松 10

1.4.4 开发iOS 8和OS X Yosemite程序只能用Swift吗 10

1.4.5 Swift是否能在当前的iOS和OS X版本上工作 10

1.4.6 什么是Playground 11

1.4.7 关于NDA 11

1.4.8 有Swift能做到而Objective-C无法做到的吗?反过来说呢 11

1.4.9 某些API是否无法被Swift调用 11

1.4.10 在Playground中,如何以图表方式查看变量值 12

1.4.11 如何打开REPL 13

1.4.12 Swift如何调用Objective-C代码或第三方库 14

1.4.13 Swift数组只能存储同一种类型的数据吗 15

1.4.14 字典是否也和数组一样是强类型的 15

1.4.15 Swift中有类似于Objective-C中的id吗 15

1.4.16 在Swift中,如何自省 15

1.4.17 在Swift中如何使用GCD 16

1.4.18 Objective-C中提供的Internationalization宏是否仍然可用 16

1.4.19 仍然需要注意持有循环吗 17

1.4.20 何时使用strong、 weak以及unowned 17

第2章 Swift语法基础 18

2.1 Playground 18

2.2 常量、变量、字符串 21

2.2.1 常量 21

2.2.2 变量 21

2.2.3 分号 22

2.2.4 字符串 22

2.2.5 字符串插值和运算 23

2.3 简单类型和类型推断 23

2.3.1 数值类型 23

2.3.2 类型转换 25

2.3.3 布尔类型 26

2.3.4 区间 26

2.3.5 元组 27

2.4 流程控制 28

2.4.1 for循环 28

2.4.2 while语句 31

2.4.3 if语句 31

2.4.4 switch语句 33

第3章 结构和类 38

3.1 可空类型 38

3.1.1 认识可空 38

3.1.2 声明可空 40

3.1.3 可空类型与非可空类型的转换 42

3.2 集合 44

3.2.1 数组 45

3.2.2 字典 47

3.3 枚举 50

3.3.1 定义枚举时填充原始值 50

3.3.2 使用其他类型 51

3.3.3 不填充原始值 52

3.3.4 联合 53

3.4 结构和类综述 54

3.4.1 属性 54

3.4.2 构造器 55

3.4.3 实例方法 56

3.4.4 类方法 56

3.4.5 下标方法 57

3.4.6 继承 59

第4章 Swift函数式编程 61

4.1 函数 61

4.1.1 函数的定义 61

4.1.2 外部参数名 62

4.1.3 简化外部参数名 62

4.1.4 默认值 63

4.1.5 可变参数 64

4.1.6 变量参数和输出参数 64

4.1.7 用函数作为参数 65

4.1.8 函数作为返回值 66

4.1.9 嵌套函数 67

4.2 闭包 68

4.2.1 声明闭包 69

4.2.2 匿名闭包 69

4.2.3 尾末闭包 70

4.2.4 值捕获 70

4.3 协议 71

4.3.1 协议的声明 71

4.3.2 实现协议 72

4.3.3 协议是一种类型 72

4.3.4 组合协议 73

4.4 扩展 74

4.4.1 声明扩展 74

4.4.2 扩展和协议 75

4.5 泛型 75

4.5.1 泛型函数 76

4.5.2 泛型和协议 76

4.5.3 泛型约束 77

4.5.4 泛型类型 78

4.6 可空链 79

4.6.1 ?操作符 79

4.6.2 ??操作符 82

第二部分 iOS 8 SDK 86

第5章 故事板与自适应布局 86

5.1 自适应布局入门 86

5.1.1 自适应布局的4个概念 87

5.1.2 Universal故事板 87

5.1.3 Size类 96

5.1.4 自适应字体 100

5.1.5 设备相关图片 101

5.2 自适应布局进阶 102

5.2.1 自适应单元格 102

5.2.2 自动安装视图 108

5.2.3 UITraitCollection类 119

5.2.4 覆盖Size类 121

5.2.5 Size相关图片 125

5.2.6 显示/隐藏导航栏 127

5.2.7 UIAppearance和Size类 128

第6章 UISplitViewController及旋屏 130

6.1 创建UISplitViewController应用 131

6.2 在iPhone App中使用UISplitViewController 140

6.2.1 创建Detail默认视图 140

6.2.2 在iPhone中展开UISplitViewController 143

6.2.3 记住用户选择 151

6.2.4 单元格指示器 154

6.2.5 对iPad进行适应 159

6.3 旋屏 162

6.3.1 旧的旋屏方法被废弃 162

6.3.2 自定义旋屏效果 165

6.3.3 单元格自适应大小 167

6.3.4 iPad旋屏 169

6.3.5 自适应的UILabel 176

第7章 视图控制器的呈现 180

7.1 初始项目 181

7.2 内置的Presentation Controller 182

7.2.1 UIAlertController 183

7.2.2 UIPopoverPresentationController 186

7.2.3 UISearchController 191

7.3 自定义UIPresentationController 196

7.3.1 Presented控制器和Presenting控制器 196

7.3.2 创建基本的PresentationController 197

7.3.3 自定义转换动画 200

7.3.4 高级定制 206

第8章 今日扩展 215

8.1 App扩展介绍 215

8.1.1 App扩展的类型 216

8.1.2 理解App扩展 219

8.2 今日扩展综述 223

8.2.1 介绍今日扩展 223

8.2.2 WeatherWidget示例 223

8.2.3 讨论 240

第9章 分享扩展 242

9.1 案例项目:SinaWeiboShare 242

9.1.1 实现容器App 243

9.1.2 创建分享扩展 257

9.2 讨论 267

9.2.1 配置SLComposeSheetConfigurationItem 268

9.2.2 分享其他文件 268

第10章 动作扩展 269

10.1 案例项目:SearchInICIBA 269

10.1.1 实现容器App 270

10.1.2 创建动作扩展 272

10.2 讨论 280

第11章 照片编辑扩展 281

11.1 案例项目:PhotoVintage 281

11.1.1 实现容器App 282

11.1.2 实现照片编辑扩展 282

11.2 讨论 292

第12章 文档提供者扩展 294

12.1 准备 295

12.1.1 工作机制 295

12.1.2 文档提供者扩展支持的4种操作 296

12.2 Bmob云服务 297

12.2.1 注册Bmob 297

12.2.2 创建应用 297

12.2.3 获取App Key 298

12.2.4 Bmob SDK 299

12.3 开始 299

12.3.1 添加扩展App 299

12.3.2 配置Info.plist和entitlements 300

12.4 加入Bmob SDK框架 301

12.4.1 添加CocoaPods框架 301

12.4.2 桥接头文件 304

12.4.3 上传图片到Bmob 305

12.4.4 实现Document Picker 308

12.4.5 实现宿主App 314

12.4.6 实现File Provider 319

12.5 讨论 322

第13章 键盘扩展 323

13.1 准备 323

13.2 键盘扩展的限制 323

13.3 值得信任 324

13.4 网络访问 325

13.5 开始 326

13.5.1 创建键盘扩展 326

13.5.2 显示键盘 327

13.5.3 设计按钮及布局 329

13.6 实现KeyboardViewController 331

13.6.1 创建连接 331

13.6.2 实现按键处理 332

13.6.3 大小写转换 334

13.6.4 切换符号集 335

13.6.5 按键动画 336

13.6.6 键盘最终运行效果 336

13.7 讨论 337

第14章 CloudKit 338

14.1 准备 339

14.1.1 用户授权 339

14.1.2 iCloud容器 340

14.1.3 数据库 340

14.1.4 Zone 340

14.1.5 记录 341

14.1.6 订阅 341

14.2 开始 342

14.2.1 打开iCloud 342

14.2.2 程序主界面 343

14.2.3 全局对象 344

14.2.4 获取用户ID及姓名 345

14.2.5 将数据封装为CKRecord 350

14.2.6 上传照片 353

14.2.7 查看已经上传的图片 359

14.3 高级API 361

14.3.1 不完全抓取 362

14.3.2 分页抓取 363

14.3.3 抓取并缓存图片 367

14.3.4 错误处理及网络重试 371

14.3.5 CloudKit Dashboard 372

14.4 讨论 373

第15章 Photos框架 375

15.1 Photos初步 375

15.1.1 模型对象 376

15.1.2 抓取概述 376

15.1.3 检索内容 377

15.1.4 初始项目 377

15.1.5 获取用户授权 378

15.1.6 抓取 379

15.1.7 显示图片 384

15.1.8 缓存 387

15.1.9 标记用户选择 390

15.2 Photos进阶 392

15.2.1 API介绍 393

15.2.2 初始项目 394

15.2.3 创建新的拼接图 396

15.2.4 显示拼接图 400

15.2.5 收藏和删除 403

15.2.6 增加修订记录 405

15.2.7 读取修订记录 406

15.2.8 注册变更通知 409

15.2.9 监听变更通知 409

15.2.10 让SpliceListVC处理变更通知 411

15.2.11 让PhotoPicker处理变更通知 413

15.3 讨论 414

第16章 Handoff 415

16.1 Handoff基础 416

16.2 开始 416

16.2.1 Handoff兼容性 417

16.2.2 测试Handoff 418

16.2.3 初始项目 419

16.2.4 设置Team ID 420

16.2.5 添加活动类型 421

16.3 view活动 422

16.3.1 创建活动并开始广播 422

16.3.2 更新用户活动 423

16.3.3 停止广播 423

16.4 edit活动 424

16.4.1 创建活动并开始广播 424

16.4.2 更新用户活动 425

16.4.3 停止广播 425

16.5 恢复用户活动 426

16.5.1 在应用程序委托中接收Handoff广播 426

16.5.2 恢复view活动 428

16.5.3 恢复edit活动 429

16.6 讨论 430

第17章 WebKit 432

17.1 开始 433

17.1.1 初始项目 433

17.1.2 创建WKWebView实例 433

17.1.3 加载Web页 434

17.1.4 监视页面加载进度 434

17.1.5 页面导航 436

17.1.6 WKNavigationDelegate协议 436

17.2 WebKit进阶 439

17.2.1 脚本调试工具 439

17.2.2 隐藏网页内容 440

17.2.3 抓取页面内容 444

17.2.4 显示PopoverController 448

17.3 讨论 450

第18章 Living Rendering 452

18.1 Living Rendering初步 453

18.1.1 开启Living Redering特性 453

18.1.2 暴露@IBInspectable属性 454

18.1.3 绘制boxLayer层 456

18.1.4 绘制markLayer层 457

18.1.5 绘制文本图层 459

18.2 Living Rendering进阶 461

18.2.1 使用位图 461

18.2.2 响应事件 462

18.3 讨论 463

第19章 Visual Effects 464

19.1 Visual Effects初步 464

19.1.1 初始项目 465

19.1.2 使用Visual Effect View实现模糊特效 465

19.1.3 使用Visual Effect View实现Vibrancy效果 467

19.2 Visual Effects进阶 469

19.2.1 使用UIBlurEffect实现模糊效果 469

19.2.2 使用UIVibrancyEffect实现Vibrancy效果 471

19.3 讨论 473

相关图书
作者其它书籍
返回顶部