出版社:人民邮电出版社
年代:2014
定价:69.0
本书主要介绍了Swift的语法、语言编程基础,以及结合实例的形式,告诉读者如何应用这个新的语言,达到学以致用的目标,本书图文结合,语言通俗易懂,很适合初学者阅读和学习!引导读者进行更深入的内容学习。
第1章 工欲善其事,必先利其器——Swift语言基础 11.1 Swift概述 11.1.1 Swift的创造者 11.1.2 Swift的优势 21.2 搭建开发环境 31.2.1 Xcode 6介绍 31.2.2 下载并安装Xcode 6 51.3 使用Xcode开发环境 81.3.1 改变公司名称 81.3.2 通过搜索框缩小文件范围 101.3.3 格式化代码 101.3.4 代码缩进和自动完成 111.3.5 文件内查找和替换 121.3.6 快速定位到代码行 141.3.7 快速打开文件 151.3.8 使用书签 161.3.9 自定义导航条 171.3.10 使用Xcode帮助 181.3.11 调试代码 191.4 启动iOS 8模拟器 21第2章 千里之行,始于足下——Swift语言基础 242.1 第一段Swift程序 242.2 简单值 302.3 流程控制 312.4 函数和闭包 342.5 对象和类 362.6 枚举和结构体 382.7 协议和扩展 402.8 泛型 41第3章 新语言,新特性——Swift的基础语法 433.1 分号 433.2 空白 433.3 标识符和关键字 443.3.1 标识符 443.3.2 关键字 453.4 常量和变量 453.4.1 声明常量和变量 453.4.2 声明变量 463.4.3 输出常量和变量 493.4.4 标注类型 503.4.5 常量和变量的命名规则 513.5 注释 523.5.1 注释的规则 523.5.2 使用注释的注意事项 533.6 数据类型 543.6.1 数据类型的分类 553.6.2 类型安全和类型推断 553.6.3 类型注解 563.6.4 类型标识符 563.6.5 元组类型 573.6.6 函数类型 573.6.7 数组类型 583.6.8 可选类型 583.6.9 隐式解析可选类型 593.6.10 协议合成类型 593.6.11 元类型 603.6.12 类型继承子句 603.6.13 类型推断 613.7 最基本的数值类型 613.7.1 整数 613.7.2 浮点数 633.8 字面量 643.8.1 数值型字面量 643.8.2 整型字面量 653.8.3 浮点型字面量 663.8.4 文本型字面量 673.9 数值型类型转换 683.9.1 整数转换 683.9.2 整数和浮点数转换 693.10 类型别名 703.11 布尔值 713.12 元组 723.13 可选类型 733.13.1 if 语句以及强制解析 743.13.2 可选绑定 753.13.3 nil 763.13.4 隐式解析可选类型 763.14 断言 773.14.1 使用断言进行调试 773.14.2 何时使用断言 78第4章 运算符 834.1 运算符概述 834.2 赋值运算符 844.2.1 基本赋值运算符 844.2.2 复合赋值运算符 854.3 算术运算符 864.3.1 一元运算符 864.3.2 二元运算符 884.3.3 求余运算 894.3.4 浮点数求余计算 904.4 比较运算符(关系运算符) 914.5 三元条件运算 934.6 区间运算符 944.6.1 闭区间运算符 954.6.2 半闭区间运算符 954.7 逻辑运算 964.7.1 逻辑非 974.7.2 逻辑与 974.7.3 逻辑或 974.7.4 组合逻辑 984.7.5 使用括号设置运算优先级 984.8 位运算符 994.8.1 按位取反运算符 994.8.2 按位与运算符 1004.8.3 按位或运算符 1014.8.4 按位异或运算符 1024.8.5 按位左移/右移运算符 1034.9 溢出运算符 1074.10 运算符函数 1104.10.1 前置和后置运算符 1104.10.2 组合赋值运算符 1114.10.3 比较运算符 1124.11 自定义运算符 1134.12 运算符的优先级和结合性 113第5章 字符串和字符 1175.1 字符和字符串基础 1175.2 字符串字面量 1185.3 初始化空字符串 1195.4 字符串可变性 1205.5 字符串是值类型 1215.6 字符串遍历 1215.7 计算字符数量 1225.8 连接字符串和字符 1235.9 字符串插值 1255.10 比较字符串 1255.10.1 字符串相等 1255.10.2 前缀/后缀相等 1255.10.3 大写和小写字符串 1275.11 国际标准Unicode 1285.11.1 Unicode 术语 1285.11.2 字符串的Unicode表示 1285.11.3 UTF-8 1295.11.4 UTF-16 1295.11.5 Unicode 标量 129第6章 表达式 1326.1 前缀表达式 1326.2 二元表达式 1326.3 赋值表达式 1346.4 三元条件运算符 1356.5 类型转换运算符 1356.6 主表达式 1366.6.1 字符型表达式 1366.6.2 self表达式 1366.6.3 超类表达式 1376.6.4 闭包表达式 1376.6.5 隐式成员表达式 1386.6.6 圆括号表达式 1386.6.7 通配符表达式 1396.7 后缀表达式 1396.7.1 函数调用表达式 1396.7.2 初始化函数表达式 1396.7.3 显式成员表达式 1406.7.4 后缀self表达式 1406.7.5 动态表达式 1406.7.6 下标脚本表达式 1416.7.7 强制取值表达式 1416.7.8 可选链表达式 141第7章 集合类型 1437.1 数组 1437.1.1 定义数组 1437.1.2 数组构造语句 1447.1.3 访问和修改数组 1457.1.4 数组的遍历 1487.1.5 创建并且构造一个数组 1497.2 字典 1527.2.1 字典字面量 1527.2.2 读取和修改字典 1537.2.3 字典遍历 1577.2.4 创建一个空字典 1597.3 集合的可变性 160第8章 语句和流程控制 1638.1 Swift语句概述 1638.1.1 循环语句 1638.1.2 分支条件语句 1678.1.3 带标签的语句 1728.1.4 控制传递语句 1728.2 for循环 1738.2.1 for-in 1738.2.2 for条件递增 1758.3 while循环 1778.3.1 while 1778.3.2 do-while 1798.4 条件语句 1818.4.1 if语句 1818.4.2 switch 1828.4.3 不存在隐式的贯穿 1838.4.4 区间匹配 1848.4.5 元组 1858.4.6 值绑定 1858.4.7 where 1868.5 控制转移语句 1878.5.1 continue 1878.5.2 break 1888.5.3 贯穿(Fallthrough) 1908.5.4 带标签的语句(Labeled Statements) 191第9章 函数 1939.1 函数的分类 1939.1.1 从函数定义的角度划分 1939.1.2 从是否有返回值角度划分 1939.1.3 从是否有参数角度划分 1949.1.4 库函数 1949.2 函数的定义 1949.2.1 参函数的定义 1959.2.2 有参函数的定义 1959.3 函数声明 1969.3.1 函数声明的格式 1969.3.2 声明中的参数名 1979.3.3 声明中的特殊类型参数 1999.4 函数调用 1999.4.1 调用函数的格式 1999.4.2 函数调用的方式 2019.5 函数参数 2029.5.1 多重输入参数 2029.5.2 参函数 2039.5.3 返回值函数 2039.6 返回值 2049.7 函数参数的名称 2059.7.1 外部参数名 2069.7.2 简写外部参数名 2069.7.3 默认参数值 2079.7.4 默认值参数的外部参数名 2079.7.5 可变参数 2089.7.6 常量参数和变量参数 2089.7.7 输入/输出参数 2099.8 函数类型 2109.8.1 使用函数类型 2119.8.2 函数类型作为参数类型 2119.8.3 函数类型作为返回类型 2139.9 嵌套函数 2149.10 函数和闭包 2159.11 内置库函数 218第10章 闭包 22510.1 闭包表达式 22510.1.1 sort 函数 22610.1.2 闭包表达式语法 22710.1.3 根据上下文推断类型 22910.1.4 单表达式闭包隐式返回 22910.1.5 参数名称的缩写 23010.1.6 运算符函数 23010.2 闭包的简写方式 23010.3 尾随闭包 23110.4 捕获值 23410.5 闭包是引用类型 235第11章 枚举 23711.1 枚举基础 23711.2 枚举语法 23811.3 匹配枚举值和switch语句 24011.4 相关值 24111.5 原始值 243第12章 类 24712.1 类和结构体基础 24712.1.1 定义类和结构体 24812.1.2 声明结构体字段 24912.2 类的成员 25012.2.1 最简单的数据成员 25012.2.2 最重要的函数成员 25112.3 结构体成员 25212.3.1 字段 25212.3.2 函数 25312.3.3 属性 25312.4 类和结构体实例 25412.5 类的继承 25512.5.1 类的层次结构 25512.5.2 继承概述 25612.5.3 定义子类 25712.5.4 重写 25912.5.5 继承规则 26312.6 属性访问 26512.7 结构体和枚举是值类型 26712.8 类是引用类型 26812.8.1 恒等运算符 26912.8.2 指针 26912.9 类和结构体的选择 26912.10 集合类型的赋值和复制行为 27012.10.1 字典类型的赋值和拷贝行为 27012.10.2 数组的赋值和复制行为 27112.10.3 确保数组的唯一性 27212.10.4 判定两个数组是否共用相同元素 27212.10.5 强制复制数组 273第13章 构造函数和析构函数 27413.1 构造函数概述 27413.1.1 结构体中的构造函数 27513.1.2 类中的构造函数 27713.2 构造过程详解 27913.2.1 为存储型属性赋初始值 28013.2.2 定制化构造过程 28113.2.3 默认构造器 28313.2.4 值类型的构造器代理 28413.2.5 类的继承和构造过程 28613.2.6 通过闭包和函数来设置属性的默认值 29313.3 析构函数 29513.3.1 析构过程原理 29513.3.2 析构函数操作 29613.4 综合演练 298第14章 属性 30814.1 属性的种类 30814.2 常用的声明属性 30814.3 类型属性 31014.4 存储属性 31014.4.1 常量和存储属性 31114.4.2 懒惰储存属性 31114.4.3 延迟存储属性 31214.4.4 存储属性和实例变量 31314.5 计算属性 31414.5.1 基本操作 31414.5.2 setter声明的简略写法 31414.5.3 便捷 setter 声明 31514.5.4 只读计算属性 31514.6 属性监视器 31814.7 全局变量和局部变量 31914.8 类型属性 32014.8.1 类型属性语法 32014.8.2 获取和设置类型属性的值 321第15章 方法 32315.1 实例方法 32315.1.1 方法的局部参数名称和外部参数名称 32415.1.2 self属性 32515.1.3 在实例方法中修改值类型 32615.1.4 在变异方法中给self赋值 32715.2 类型方法 328第16章 下标脚本 33116.1 下标脚本语法 33116.2 下标脚本用法 33216.3 下标脚本选项 333第17章 自动引用计数 33817.1 iOS ARC的背景 33817.2 Swift ARC的工作机制 33817.3 自动引用计数实践 33917.4 类实例之间的循环强引用 34117.5 解决实例之间的循环强引用 34517.5.1 弱引用 34517.5.2 主引用 35117.5.3 主引用以及隐式解析可选属性 35317.6 闭包引起的循环强引用 35817.7 解决闭包引起的循环强引用 36217.7.1 定义捕获列表 36317.7.2 弱引用和主引用 363第18章 泛型 36518.1 泛型所解决的问题 36518.2 泛型函数 36718.3 类型参数 36818.4 命名类型参数 37118.5 泛型类型 37118.6 类型约束 37418.6.1 类型约束语法 37418.6.2 类型约束行为 37418.7 关联类型 37618.7.1 关联类型行为 37618.7.2 扩展一个存在的类型为一指定关联类型 37818.8 where语句 378第19章 可选链 38019.1 可选链可替代强制解析 38019.2 为可选链定义模型类 38119.3 通过可选链调用属性 38319.4 通过可选链调用方法 38319.5 使用可选链调用子脚本 38319.6 连接多层链接 38419.7 链接可选返回值的方法 385第20章 类型检查和嵌套类型 38620.1 定义一个类层次作为例子 38620.2 检查类型(Checking Type) 38720.3 向下转型(Downcasting) 38820.4 Any和AnyObject的类型转换 38920.4.1 AnyObject类型 38920.4.2 Any类型 39020.5 嵌套类型 39120.5.1 嵌套类型实例 39120.5.2 嵌套类型的引用 392第21章 混编开发 39321.1 在同一个工程中使用Swift和Objective-C 39321.1.1 Mix and Match概述 39321.1.2 在同一个应用的target中导入 39421.1.3 在同一个框架的target中导入 39521.1.4 导入外部框架 39621.1.5 在Objective-C中使用Swift 39621.1.6 实战演练Swift与Objective-C的相互调用 39721.2 Swift调用C函数 39921.2.1 调用简单的C函数 39921.2.2 增加一个C键盘输入函数 40321.3 Swift调用C函数的综合演练 405第22章 扩展 40922.1 扩展语法 40922.2 计算型属性 41022.3 构造器 41122.4 扩展方法 41222.5 下标 41322.6 嵌套类型 41522.7 扩展字符串截取方法 41622.7.1 演示扩展字符串的用法 41622.7.2 使用Swift String扩展截取字符串 41722.8 在iOS项目中使用扩展 41922.9 用Swift编写UITextField扩展 430第23章 协议 43823.1 协议的语法 43823.2 对属性的规定 44023.3 对方法的规定 44123.4 对突变方法的规定 44223.5 协议类型 44323.6 委托模式 44423.7 在扩展中添加协议成员 44623.8 通过扩展补充协议声明 44723.9 集合中的协议类型 44823.10 协议的继承 44823.11 协议合成 44923.12 检验协议的一致性 44923.13 对可选协议的规定 451第24章 Sprite Kit游戏开发 45324.1 Sprite Kit框架基础 45324.1.1 Sprite Kit的优点和缺点 45324.1.2 Sprite Kit、Cocos2D、Cocos2D-X和Unity的选择 45324.2 开发一个Flappy Bird游戏 45424.3 开发一个iPad飞行游戏(基于Swift) 46224.3.1 新建工程 46224.3.2 载入有云的天空的动画 46224.3.3 实现二维飞行界面 46824.3.4 生成发射子弹视图 46824.3.5 定义敌人类 46924.4 开发一个方块游戏 471
全面解析了语句、函数、类、协议、闭包等Swift基本语法应用。 145个精彩实例,完美展示了Swift的开发技术和控件开发相结合,阐述了Swift在iOS8开发中的应用。 《Swift开发实战》内容言简意赅,讲解方法通俗易懂、详细,特别适合于初学者学习并消化。 《Swift开发实战》内容全面几乎涵盖了Swift语言的全部内容,一本即学即用的实战宝典。 Swift是苹果公司在WWDC2014大会上发布的一门全新的编程语言,用于编写OS X和iOS应用程序。《Swift开发实战》共分24章,循序渐进地讲解了Swift语言的基本知识及实战技术。《Swift开发实战》从Swift语言基础讲起,依次讲解了Swift的语法、运算符、字符串和字符、表达式、集合类型、语句和流程控制、函数、闭包、枚举、类、构造函数和析构函数、属性、方法、下标脚本、自动引用计数、泛型、可选链、类型检查和嵌套类型、混编开发、扩展、协议、Sprite Kit游戏开发等知识。《Swift开发实战》几乎涵盖了Swift语言的全部内容,讲解通俗易懂,特别适合初学者学习。 《Swift开发实战》适合Swift初学者、iOS爱好者、iPhone应用开发人员、iPad应用开发人员、iOS应用开发人员学习,也可以作为相关培训学校和大专院校相关专业的教学用书。【作者简介】 朱元波,计算机硕士,通讯工程硕士,精通iOS开发,Objective—C,C语言,C++。在苹果APP Store发布多款作品,现在就职于联通iPhone研发定制中心。
刘铭, 著
(美) 戴特尔 (Deitel,P.) , (美) 戴特尔 (Deitel,H.) , (美) 戴特尔 (Deitel,A.) , 著
(美) 埃里卡·萨顿 (Erica Sadun) , 著
陈刚, 编著
欧阳坚, 编著
关东升, 赵志荣, 著
关东升, 赵志荣, 著
老镇, 著
老镇, 著