大小:18.72M
更新时间:23-08-28
系统:Pc
从零开始学swift全书共分5部分,第一部分介绍了Swift的一些基础知识,第二部分介绍了基于Swift语言的中高级内容,第三部分主要介绍了Swift与Objective-C/C/C++的混合编程等相关问题,第四部分介绍了基于Swift语言的2D游戏引擎技术,第五部分详细介绍了一个游戏App的开发过程,系统而全面,有需要的朋友可以下载阅读。
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 本章小结
2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读
应用信息
同类热门
类似软件
从零开始学电路基础pdf版30.87M1471人在用 从零开始学电路基础是2007年由国防工业出版社出版的一本电路基础图书,主编刘建清,全书就是为了初学者从零开始,快速掌握电路基础知识而编写的。主要内容包括:电路的基本定律、定理和基本分析方法,磁场与磁路,交流电路,互感与变压器,电路的过渡过程等内容。
查看热门标签
网友评论0人参与,0条评论
最新排行
ugnx10从入门到精通pdf4.52M高清扫描版 ugnx10从入门到精通是文鼎教育集团重新编辑整理的一个ug10.0学习教材,总共包括五个章节,第一章概述,第二章ug10.0应用体验,第三章ug nx 10工作环境和基本操作,第四章曲线造型,第五章草图,内容从简到繁,从浅到深,让读者可以更好的轻
查看
oracle11g从入门到精通82.36M钱慎一张素智pdf扫描版 oracle11g从入门到精通是一本Oracle入门书籍,由钱慎一和张素智两人共同编著,本书内容丰富,翔实。Oracle数据库系统是数据库领域最优秀的数据库之一,本书以Oracle最新版本Oracle 11g为蓝本,系统地讲述了Oracle数据库的
查看
SPA设计与架构:理解单页面Web应用39.99MEmmit A.Scott pdf扫描版 SPA设计与架构:理解单页面Web应用是一本SPA开发教学书籍,由美国的埃米顿.斯科特[ Emmit A.Scott]编著,本书讲述SPA应用程序构建所需的设计与开发技术。书中首先介绍SPA模型,并阐述SPA标准构建方式。随着内容的展开,
查看
迈向angular2:基于TypeScript的高性能SPA框架108.82Mpdf扫描版 迈向angular2:基于TypeScript的高性能SPA框架是一本Angular 2快速入门书籍,由明科·基彻编著,大漠穷秋,熊三共同翻译。本书将会帮助你快速转入Angular 2的全新世界。在本书中每一步都有详细的实例代码,帮助你理解与Ang
查看
ZK框架Ajax开发实战63.54Mpdf扫描版ZK框架Ajax开发实战是一本教你如何使用ZK框架来开发Ajax应用的教学实战书籍,由美国程序员HENRI CHEN编著。本书主要介绍如何让Ajax编程变得像开发桌面应用一样简单,像创建HTML页面一样容易,这也是ZKTM框架的核心价值所在。具体内容包括
查看
旅游摄影指南pdf高清版29.82M旅游摄影指南pdf高清版是一本关于如何摄影的的电子书,全面讲解了旅游摄影技巧,能够让用户轻松松记录旅行中的美景。并对旅游摄影常识进行了全面解读,对照片后期处理进行深入揭秘,让用户变成最出色的旅游摄影专家,轻松拥有大师级的摄影作品。 旅游摄影指
查看
lua程序设计(programming in lua)5.8Mpdf高清版 lua程序设计(programming in lua)是一本综合性强,介绍全面的lua中文教程,全书详细介绍了lua语言所具有的功能,并使用大量示例来演示如何将它们运用到实际的任务中。深入地介绍了lua中唯一的数据结构table,还讨论了数据结构、
查看
软件架构师的12项修炼1K高清扫描版软件架构师的12项修炼是一本软件架松领域开创性著作,由[美] Dave Hendricksen著,张菲翻译。作者阐述了如何用架构视点和架构视图的方法定义软件架构,本书的十二项技能按三个部分来组织:关系技能、个人技能和商务技能。这种分类基于相关的优先顺序,
查看