网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 从零开始学Swift(第2版) |
分类 | |
作者 | 关东升 |
出版社 | 人民邮电出版社 |
下载 | ![]() |
简介 | 内容推荐 本书基于Swift 3.x,通过大量案例全面介绍苹果平台的应用开发。全书共分5部分,diyi部分介绍了Swift的一些基础知识,第二部分介绍了基于Swift语言的中不错内容,第三部分主要介绍了Swift与Objective-C/C/C++的混合编程等相关问题,第四部分介绍了基于Swift语言的2D游戏引擎技术,第五部分详细介绍了一个游戏App的开发过程。 作者简介 关东升,靠前有名iOS/Cocos技术作家,iOS技术顾问,Cocos很有价值专家(CVP),智捷课堂首席培训专家。担任51CTO社区iOS技术顾问,精通iOS、Android和Windows及HTML5等移动开发技术。曾先后主持开发大型网络游戏《神农诀》的iOS和Android客户端开发,国家农产品追溯系统的iPad客户端开发,酒店预订系统的iOS客户端开发,金融系统的ios、Windows及Android客户端开发。在AppStore上发布数款游戏和应用软件,擅长移动平台的应用和游戏类项目开发。长期为中国移动研究院、方正科技、大唐电信、中国石油、工商银行、南方航空、惠普、东软、NTT等企*单位提供技术咨询及员工培训。著有《iOS网络编程与云端应用很好实践》、《iOS传感器应用开发很好实践》、《iOS图形图像、动画和多媒体编程技术很好实践》、《iOS开发指南》、《交互设计的艺术》、《Cocos2d-x实战:C++卷》、《Cocos2d-x实战:Lua卷》、《Cocos2d-x实战:工具卷》、《Cocos2d-x实战:JS卷》等专业图书。 目录 第1章准备起航 1.1本书约定 1.1.1示例代码约定 1.1.2图示约定 1.1.3函数和方法签名约定 1.1.4承接上一行代码约定 1.1.5代码行号约定 1.2Swift开发工具 1.2.1Xcode开发工具 1.2.2AppCode开发工具 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.1Swift数据类型 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.1Unicode编码 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.1if语句 7.1.2switch语句 7.1.3guard语句 7.2循环语句 7.2.1while语句 7.2.2repeat-while语句 7.2.3for语句 7.3跳转语句 7.3.1break语句 7.3.2continue语句 7.3.3fallthrough语句 7.4范围与区间运算符 7.4.1switch中使用区间运算符 7.4.2for中使用区间运算符 7.5值绑定 7.5.1if中的值绑定 7.5.2guard中的值绑定 7.5.3switch中的值绑定 7.6where语句 7.6.1switch中使用where语句 7.6.2for中使用where语句 7.7本章小结 7.8同步练习 第8章SWIFT原生集合类型 8.1Swift中的数组集合 8.1.1数组声明和初始化 8.1.2可变数组 8.1.3数组遍历 8.2Swift中的字典集合 8.2.1字典声明与初始化 8.2.2可变字典 8.2.3字典遍历 8.3Swift中的Set集合 8.3.1Set声明和初始化 8.3.2可变Set集合 8.3.3Set集合遍历 8.3.4Set集合运算 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.2Swift中的面向对象类型 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.1Swift内存管理概述 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.1Cocoa错误处理模式 21.2do-try-catch错误处理模式 21.2.1捕获错误 21.2.2错误类型 21.2.3声明抛出错误 21.2.4在函数或方法中抛出错误 21.2.5try 和try!的使用区别 21.3案例:MyNotes应用数据持久层实现 21.3.1MyNotes应用介绍 21.3.2MyNotes应用数据持久层设计 21.3.3实现Note实体类 21.3.4NoteDAO代码实现 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.4NSNumber与Swift原生数字类型之间的桥接 22.2字符串类 22.2.1NSString类 22.2.2NSMutableString类 22.2.3NSString与String之间的桥接 22.3数组类 22.3.1NSArray类 22.3.2NSMutableArray类 22.3.3NSArray与Swift原生数组之间的桥接 22.4字典类 22.4.1NSDictionary类 22.4.2NSMutableDictionary类 22.4.3NSDictionary与Swift原生字典之间的桥接 22.5NSSet集合类 22.5.1NSSet类 22.5.2NSMutableSet类 22.5.3NSSet与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.1NSDate和Date 22.8.2日期时间格式化 22.8.3NSCalendar、Calendar、NSDateComponents和DateComponents 22.8.4示例:时区转换 22.9使用谓词NSPredicate过滤数据 22.9.1一个过滤员工花名册的示例 22.9.2使用谓词NSPredicate 22.9.3NSPrdicate与集合 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.3Swift与Objective-C API映射 23.3.1构造函数映射 23.3.2方法名映射 23.4同一应用目标中的混合编程 23.4.1什么是目标 23.4.2Swift调用Objective-C 23.4.3Objective-C调用Swift 23.5同一框架目标中的混合编程 23.5.1链接库和框架 23.5.2Swift调用Objective-C 23.5.3测试框架目标 23.5.4Objective-C调用Swift 23.6本章小结 第24章SWIFT与C/C++混合编程 24.1数据类型映射 24.1.1C语言基本数据类型 24.1.2C语言指针类型 24.2应用目标中的混合编程 24.2.1Swift调用C API 24.2.2Swift调用C++ API 24.3框架目标中的混合编程 24.3.1同一框架目标中Swift调用C或C++ API 24.3.2Swift调用第三方库中的C或C++ API 24.4案例:用SQLite嵌入式数据库实现MyNotes数据持久层 24.4.1Note实体类代码 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.2macOS和iOS平台音频优化 25.8.3背景音乐 25.8.43D音效 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本章小结 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。