从零开始学swift(第二版)

从零开始学swift(第二版)

大小:18.72M

更新时间:23-08-28

系统:Pc

版本:v

请使用电脑访问此页面下载
从零开始学swift是由关东升编写,作者是一个在IT领域爬滚打20年的程序员、培训师。本书是初学者学习swift必备入门书籍。该书基于Swift3.x,通过大量案例全面介绍苹果平台的应用开发。Swift3.x的语法有了重大变化,更加的独立有Objective-C语言,从零开始学swift(第二版)针对Swift3.x进行了全面的升级,全面涵盖了Swift3.x基础语法、面向协议编程、Swift编码规范、Swift混合编程(Swift与Objective-C/C++)、Spritekit游戏引擎等内容。

从零开始学swift全书共分5部分,第一部分介绍了Swift的一些基础知识,第二部分介绍了基于Swift语言的中高级内容,第三部分主要介绍了Swift与Objective-C/C/C++的混合编程等相关问题,第四部分介绍了基于Swift语言的2D游戏引擎技术,第五部分详细介绍了一个游戏App的开发过程,系统而全面,有需要的朋友可以下载阅读。

内容介绍

《从零开始学swift》是基于Swift3.x全面更新,涵盖了面向协议编程、Swift编码规范、Swift混合编程(Swift与Objective-C/C++)、Spritekit等,本书线路图是,第一部分Swift语法,第二部分进阶(Swift内存管理、错误处理、Foundation框架),第三部分混合编程(Swift与Objective-C混合编程、Swift与C++混合编程),第四部分游戏(Spritekit游戏引),第五部分项目实战(游戏App实战—迷失航线)

章节目录

第1章 准备起航

1.1 本书约定

1.1.1 示例代码约定

1.1.2 图示约定

1.1.3 函数和方法签名约定

1.1.4 承接上一行代码约定

1.1.5 代码行号约定

1.2 Swift开发工具

1.2.1 Xcode开发工具

1.2.2 AppCode开发工具

1.3 本章小结

1.4 同步练习

第2章 第一个SWIFT程序

2.1 使用REPL

2.1.1 启动Swift REPL

2.1.2 使用Swift REPL

2.2 使用Playground

2.2.1 编程利器Playground

2.2.2 编写HelloWorld程序

2.3 通过Xcode创建macOS工程

2.3.1 创建macOS工程

2.3.2 编译和运行

2.4 使用swiftc命令

2.4.1 编译

2.4.2 运行

2.5 代码解释

2.6 本章小结

2.10 同步练习

第3章 SWIFT语法基础

3.1 标识符和关键字

3.1.1 标识符

3.1.2 关键字

3.2 常量和变量

3.2.1 常量

3.2.2 变量

3.2.3 使用var还是let

3.3 注释

3.4 表达式

3.5 本章小结

3.6 同步练习

第4章 运算符

4.1 算术运算符

4.1.1 一元运算符

4.1.2 二元运算符

4.1.3 算术赋值运算符

4.2 关系运算符

4.3 逻辑运算符

4.4 位运算符

4.5 其他运算符

4.6 本章小结

4.7 同步练习

第5章 SWIFT原生数据类型

5.1 Swift数据类型

5.2 整型

5.3 浮点型

5.4 数字表示方式

5.4.1 进制数字表示

5.4.2 指数表示

5.4.3 其他表示

5.5 数字类型之间的转换

5.5.1 整型之间的转换

5.5.2 整型与浮点型之间的转换

5.6 布尔型

5.7 元组类型

5.8 可选类型

5.8.1 可选类型概念

5.8.2 可选类型值拆包

5.8.3 可选绑定

5.9 本章小结

5.10 同步练习

第6章 SWIFT原生字符串

6.1 字符

6.1.1 Unicode编码

6.1.2 转义符

6.2 创建字符串

6.3 可变字符串

6.3.1 字符串拼接

6.3.2 字符串插入、删除和替换

6.4 字符串比较

6.4.1 大小和相等比较

6.4.2 前缀和后缀比较

6.5 本章小结

6.6 同步练习

第7章 控制语句

7.1 分支语句

7.1.1 if语句

7.1.2 switch语句

7.1.3 guard语句

7.2 循环语句

7.2.1 while语句

7.2.2 repeat-while语句

7.2.3 for语句

7.3 跳转语句

7.3.1 break语句

7.3.2 continue语句

7.3.3 fallthrough语句

7.4 范围与区间运算符

7.4.1 switch中使用区间运算符

7.4.2 for中使用区间运算符

7.5 值绑定

7.5.1 if中的值绑定

7.5.2 guard中的值绑定

7.5.3 switch中的值绑定

7.6 where语句

7.6.1 switch中使用where语句

7.6.2 for中使用where语句

7.7 本章小结

7.8 同步练习

第8章 SWIFT原生集合类型

8.1 Swift中的数组集合

8.1.1 数组声明和初始化

8.1.2 可变数组

8.1.3 数组遍历

8.2 Swift中的字典集合

8.2.1 字典声明与初始化

8.2.2 可变字典

8.2.3 字典遍历

8.3 Swift中的Set集合

8.3.1 Set声明和初始化

8.3.2 可变Set集合

8.3.3 Set集合遍历

8.3.4 Set集合运算

8.4 本章小结

8.5 同步练习

第9章 函数

9.1 定义函数

9.2 函数参数

9.2.1 使用参数标签

9.2.2 省略参数标签

9.2.3 参数默认值

9.2.4 可变参数

9.2.5 值类型参数的引用传递

9.3 函数返回值

9.3.1 无返回值函数

9.3.2 多返回值函数

9.4 函数类型

9.4.1 作为函数返回类型使用

9.4.2 作为参数类型使用

9.5 嵌套函数

9.6 本章小结

9.7 同步练习

第10章 闭包

10.1 回顾嵌套函数

10.2 闭包的概念

10.3 使用闭包表达式

10.3.1 类型推断简化

10.3.2 隐藏return关键字

10.3.3 省略参数名

10.3.4 使用闭包返回值

10.4 使用尾随闭包

10.5 捕获上下文中的变量和常量

10.6 本章小结

10.7 同步练习

第11章 SWIFT语言中的面向对象特性

11.1 面向对象概念和基本特征

11.2 Swift中的面向对象类型

11.3 枚举

11.3.1 成员值

11.3.2 原始值

11.3.3 相关值

11.4 结构体与类

11.4.1 类和结构体定义

11.4.2 再谈值类型和引用类型

11.4.3 引用类型的比较

11.4.4 运算符重载

11.5 类型嵌套

11.6 可选链

11.6.1 可选链的概念

11.6.2 使用问号( )和感叹号(!)

11.7 访问限定

11.7.1 访问范围

11.7.2 访问级别

11.7.3 使用访问级别最佳实践

11.8 选择类还是结构体最佳实践

11.8.1 类和结构体的异同

11.8.2 选择的原则

11.9 本章小结

11.10 同步练习

第12章 属性与下标

12.1 存储属性

12.1.1 存储属性概念

12.1.2 延迟存储属性

12.2 计算属性

12.2.1 计算属性的概念

12.2.2 只读计算属性

12.2.3 结构体和枚举中的计算属性

12.3 属性观察者

12.4 静态属性

12.4.1 结构体静态属性

12.4.2 枚举静态属性

12.4.3 类静态属性

12.5 使用下标

12.5.1 下标概念

12.5.2 示例:二维数组

12.6 本章小结

12.7 同步练习

第13章 方法

13.1 实例方法

13.2 可变方法

13.3 静态方法

13.3.1 结构体静态方法

13.3.2 枚举静态方法

13.3.3 类静态方法

13.4 本章小结

13.5 同步练习

第14章 构造与析构

14.1 构造函数

14.1.1 默认构造函数

14.1.2 构造函数与存储属性初始化

14.1.3 使用参数标签

14.2 构造函数重载

14.2.1 构造函数重载概念

14.2.2 结构体构造函数代理

14.2.3 类构造函数横向代理

14.3 析构函数

14.4 本章小结

14.5 同步练习

第15章 类继承

15.1 从一个示例开始

15.2 构造函数继承

15.2.1 构造函数调用规则

15.2.2 构造过程安全检查

15.2.3 构造函数继承

15.3 重写

15.3.1 重写实例属性

15.3.2 重写静态属性

15.3.3 重写实例方法

15.3.4 重写静态方法

15.3.5 下标重写

15.3.6 使用final关键字

15.4 类型检查与转换

15.4.1 使用is进行类型检查

15.4.2 使用as、as!和as 进行类型转换

15.4.3 使用AnyObject和Any类型

15.5 本章小结

15.6 同步练习

第16章 扩展

16.1 “轻量级”继承机制

16.2 声明扩展

16.3 扩展计算属性

16.4 扩展方法

16.5 扩展构造函数

16.5.1 值类型扩展构造函数

16.5.2 引用类型扩展构造函数

16.6 扩展下标

16.7 本章小结

16.8 同步练习

第17章 协议

17.1 协议概念

17.2 协议定义和遵从

17.3 协议方法

17.3.1 协议实例方法

17.3.2 协议静态方法

17.3.3 协议可变方法

17.4 协议属性

17.4.1 协议实例属性

17.4.2 协议静态属性

17.5 面向协议编程

17.5.1 协议类型

17.5.2 协议的继承

17.5.3 协议扩展

17.5.4 协议的合成

17.5.5 扩展中遵从协议

17.6 面向协议编程示例:表视图中使用扩展协议

17.7 本章小结

17.8 同步练习

第18章 泛型

18.1 一个问题的思考

18.2 泛型函数

18.2.1 使用泛型函数

18.2.2 多类型参数

18.3 泛型类型

18.4 泛型扩展

18.5 本章小结

18.6 同步练习

第19章 SWIFT编码规范

19.1 命名规范

19.2 注释规范

19.2.1 文件注释

19.2.2 文档注释

19.2.3 代码注释

19.2.4 使用地标注释

19.3 声明

19.3.1 变量或常量声明

19.3.2 属性声明

19.4 代码排版

19.4.1 空行

19.4.2 空格

19.4.3 断行

19.4.4 缩进

19.5 本章小结

19.6 同步练习

第20章 SWIFT内存管理

20.1 Swift内存管理概述

20.1.1 引用计数

20.1.2 示例:Swift自动引用计数

20.2 强引用循环

20.3 打破强引用循环

20.3.1 弱引用

20.3.2 无主引用

20.4 闭包中的强引用循环

20.4.1 一个闭包中的强引用循环示例

20.4.2 解决闭包强引用循环

20.5 本章小结

20.6 同步练习

第21章 错误处理

21.1 Cocoa错误处理模式

21.2 do-try-catch错误处理模式

21.2.1 捕获错误

21.2.2 错误类型

21.2.3 声明抛出错误

21.2.4 在函数或方法中抛出错误

21.2.5 try 和try!的使用区别

21.3 案例:MyNotes应用数据持久层实现

21.3.1 MyNotes应用介绍

21.3.2 MyNotes应用数据持久层设计

21.3.3 实现Note实体类

21.3.4 NoteDAO代码实现

21.3.5 使用defer语句释放资源

21.3.6 测试示例

21.4 本章小结

21.5 同步练习

第22章 FOUNDATION框架

22.1 数字类NSNumber

22.1.1 获得NSNumber对象

22.1.2 比较NSNumber对象

22.1.3 数字格式化

22.1.4 NSNumber与Swift原生数字类型之间的桥接

22.2 字符串类

22.2.1 NSString类

22.2.2 NSMutableString类

22.2.3 NSString与String之间的桥接

22.3 数组类

22.3.1 NSArray类

22.3.2 NSMutableArray类

22.3.3 NSArray与Swift原生数组之间的桥接

22.4 字典类

22.4.1 NSDictionary类

22.4.2 NSMutableDictionary类

22.4.3 NSDictionary与Swift原生字典之间的桥接

22.5 NSSet集合类

22.5.1 NSSet类

22.5.2 NSMutableSet类

22.5.3 NSSet与Swift原生Set之间的桥接

22.6 文件管理

22.6.1 访问目录

22.6.2 目录操作

22.6.3 文件操作

22.7 字节缓存

22.7.1 访问字节缓存

22.7.2 示例:Base64解码与编码

22.8 日期与时间

22.8.1 NSDate和Date

22.8.2 日期时间格式化

22.8.3 NSCalendar、Calendar、NSDateComponents和DateComponents

22.8.4 示例:时区转换

22.9 使用谓词NSPredicate过滤数据

22.9.1 一个过滤员工花名册的示例

22.9.2 使用谓词NSPredicate

22.9.3 NSPrdicate与集合

22.9.4 格式说明符

22.9.5 运算符

22.10 使用正则表达式

22.10.1 在NSPredicate中使用正则表达式

22.10.2 使用NSRegularExpression

22.10.3 示例:日期格式转换

22.11 本章小结

第23章 SWIFT与OBJECTIVE-C混合编程

23.1 选择语言

23.2 文件扩展名

23.3 Swift与Objective-C API映射

23.3.1 构造函数映射

23.3.2 方法名映射

23.4 同一应用目标中的混合编程

23.4.1 什么是目标

23.4.2 Swift调用Objective-C

23.4.3 Objective-C调用Swift

23.5 同一框架目标中的混合编程

23.5.1 链接库和框架

23.5.2 Swift调用Objective-C

23.5.3 测试框架目标

23.5.4 Objective-C调用Swift

23.6 本章小结

第24章 SWIFT与C/C++混合编程

24.1 数据类型映射

24.1.1 C语言基本数据类型

24.1.2 C语言指针类型

24.2 应用目标中的混合编程

24.2.1 Swift调用C API

24.2.2 Swift调用C++ API

24.3 框架目标中的混合编程

24.3.1 同一框架目标中Swift调用C或C++ API

24.3.2 Swift调用第三方库中的C或C++ API

24.4 案例:用SQLite嵌入式数据库实现MyNotes数据持久层

24.4.1 Note实体类代码

24.4.2 创建表

24.4.3 插入数据

24.4.4 查询数据

24.4.5 应用沙箱目录

24.4.6 表示层开发

24.5 本章小结

第25章 SPRITEKIT游戏引擎

25.1 移动平台游戏引擎介绍

25.2 第一个SpriteKit游戏

25.2.1 创建工程

25.2.2 工程剖析

25.3 一切都是节点

25.3.1 节点“家族”

25.3.2 节点树

25.3.3 节点中重要的方法

25.3.4 节点中重要的属性

25.4 精灵

25.4.1 精灵类SKSpriteNode

25.4.2 案例:沙漠英雄场景

25.4.3 使用纹理图集性能优化

25.5 场景切换

25.5.1 场景切换方法

25.5.2 场景过渡动画

25.5.3 案例:沙漠英雄场景切换

25.6 动作

25.6.1 常用动作

25.6.2 组合动作

25.6.3 案例:帧动画实现

25.7 粒子系统

25.7.1 粒子系统属性

25.7.2 内置粒子系统模板

25.8 游戏音乐与音效

25.8.1 音频文件介绍

25.8.2 macOS和iOS平台音频优化

25.8.3 背景音乐

25.8.4 3D音效

25.9 物理引擎

25.9.1 物理引擎核心概念

25.9.2 物理引擎中的物体

25.9.3 接触与碰撞

25.9.4 案例:食品的接触与碰撞

25.10 本章小结

第26章 游戏APP实战——迷失航线

26.1 《迷失航线》游戏分析与设计

26.1.1 《迷失航线》故事背景

26.1.2 需求分析

26.1.3 原型设计

26.1.4 游戏脚本

26.2 任务1:游戏工程的创建与初始化

26.2.1 迭代1.1:创建工程

26.2.2 迭代1.2:自定义类型维护

26.2.3 迭代1.3:添加资源文件

26.2.4 迭代1.4:添加粒子系统

26.3 任务2:创建Loading场景

26.3.1 迭代2.1:设计场景

26.3.2 迭代2.2:Loading动画

26.3.3 迭代2.3:预处理加载纹理

26.4 任务3:创建Home场景

26.4.1 迭代3.1:设计场景

26.4.2 迭代3.2:实现代码

26.5 任务4:创建设置场景

26.5.1 迭代4.1:设计场景

26.5.2 迭代4.2:实现代码

26.6 任务5:创建帮助场景

26.6.1 迭代5.1:设计场景

26.6.2 迭代5.2:实现代码

26.7 任务6:实现游戏场景

26.7.1 迭代6.1:设计场景

26.7.2 迭代6.2:创建敌人精灵

26.7.3 迭代6.3:创建玩家飞机精灵

26.7.4 迭代6.4:创建子弹精灵

26.7.5 迭代6.5:初始化游戏场景

26.7.6 迭代6.6:玩家移动飞机

26.7.7 迭代6.7:游戏循环与任务调度

26.7.8 迭代6.8:游戏场景菜单实现

26.7.9 迭代6.9:玩家飞机发射子弹

26.7.10 迭代6.10:子弹与敌人的碰撞检测

26.7.11 迭代6.11:玩家飞机与敌人的碰撞检测

26.8 任务7:游戏结束场景

26.8.1 迭代7.1:设计场景

26.8.2 迭代7.2:实现代码

26.9 还有“最后一公里”

26.9.1 添加图标

26.9.2 调整Identity和Deployment Info属性

26.9.3 调整程序代码

26.10 本章小结

使用说明

1、下载并解压,得出pdf文件

2、如果打不开本文件,请务必下载pdf阅读器

3、安装后,在打开解压得出的pdf文件

4、双击进行阅读

展开全部内容
语言简体中文

同类热门

京东读书电脑版京东读书电脑版 linux常用命令大全linux常用命令大全 本草纲目本草纲目 cnki全球学术快报电脑版cnki全球学术快报电脑版 南方Plus电脑版南方Plus电脑版 网易云阅读电脑版网易云阅读电脑版 docker入门实战docker入门实战 Scala程序设计第二版Scala程序设计第二版

类似软件

热门标签

光盘刻录软件推荐 电脑文件管理软件大全 proteus电路仿真软件 U盘修复工具 图片分割软件大全 好用的文本编辑器推荐 pdf编辑器软件推荐 现在最主流的maya版本 navicat premium版本大全 keil系列软件大全 2024年电脑游戏加速器排行榜 wps office个人版大全

网友评论0人参与,0条评论

评论需审核后才能显示

最新排行

手游排行软件排行热门应用