分类于: 计算机基础 互联网 云计算&大数据 设计

简介

Swift 开发实战

Swift 开发实战 0.0分

资源最后更新于 2020-03-28 16:59:46

作者:管蕾张玲玲朱元波

出版社:出版社人民邮电出版社

出版日期:2014-09

ISBN:9787115368270

文件格式: pdf

标签: 互联网 开发 计算机 限时特价 程序 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研发定制中心。
提示:如遇问题或者链接还未及时添加,请联系小编 afeiship#qq.com(#换@),我们会尽快处理!

目录

  1. Swift 开发实战
  2. 前言
  3. 第1章 工欲善其事,必先利其器——Swift语言基础
  4. 1.1 Swift概述
  5. 1.1.1 Swift的创造者
  6. 1.1.2 Swift的优势
  7. 1.2 搭建开发环境
  8. 1.2.1 Xcode 6介绍
  9. 1.2.2 下载并安装Xcode 6
  10. 1.3 使用Xcode开发环境
  11. 1.3.1 改变公司名称
  12. 1.3.2 通过搜索框缩小文件范围
  13. 1.3.3 格式化代码
  14. 1.3.4 代码缩进和自动完成
  15. 1.3.5 文件内查找和替换
  16. 1.3.6 快速定位到代码行
  17. 1.3.7 快速打开文件
  18. 1.3.8 使用书签
  19. 1.3.9 自定义导航条
  20. 1.3.10 使用Xcode帮助
  21. 1.3.11 调试代码
  22. 1.4 启动iOS 8模拟器
  23. 第2章 千里之行,始于足下——Swift语言基础
  24. 2.1 第一段Swift程序
  25. 2.2 简单值
  26. 2.3 流程控制
  27. 2.4 函数和闭包
  28. 2.5 对象和类
  29. 2.6 枚举和结构体
  30. 2.7 协议和扩展
  31. 2.8 泛型
  32. 第3章 新语言,新特性——Swift的基础语法
  33. 3.1 分号
  34. 3.2 空白
  35. 3.3 标识符和关键字
  36. 3.3.1 标识符
  37. 3.3.2 关键字
  38. 3.4 常量和变量
  39. 3.4.1 声明常量和变量
  40. 3.4.2 声明变量
  41. 3.4.3 输出常量和变量
  42. 3.4.4 标注类型
  43. 3.4.5 常量和变量的命名规则
  44. 3.5 注释
  45. 3.5.1 注释的规则
  46. 3.5.2 使用注释的注意事项
  47. 3.6 数据类型
  48. 3.6.1 数据类型的分类
  49. 3.6.2 类型安全和类型推断
  50. 3.6.3 类型注解
  51. 3.6.4 类型标识符
  52. 3.6.5 元组类型
  53. 3.6.6 函数类型
  54. 3.6.7 数组类型
  55. 3.6.8 可选类型
  56. 3.6.9 隐式解析可选类型
  57. 3.6.10 协议合成类型
  58. 3.6.11 元类型
  59. 3.6.12 类型继承子句
  60. 3.6.13 类型推断
  61. 3.7 最基本的数值类型
  62. 3.7.1 整数
  63. 3.7.2 浮点数
  64. 3.8 字面量
  65. 3.8.1 数值型字面量
  66. 3.8.2 整型字面量
  67. 3.8.3 浮点型字面量
  68. 3.8.4 文本型字面量
  69. 3.9 数值型类型转换
  70. 3.9.1 整数转换
  71. 3.9.2 整数和浮点数转换
  72. 3.10 类型别名
  73. 3.11 布尔值
  74. 3.12 元组
  75. 3.13 可选类型
  76. 3.13.1 if 语句以及强制解析
  77. 3.13.2 可选绑定
  78. 3.13.3 nil
  79. 3.13.4 隐式解析可选类型
  80. 3.14 断言
  81. 3.14.1 使用断言进行调试
  82. 3.14.2 何时使用断言
  83. 第4章 运算符
  84. 4.1 运算符概述
  85. 4.2 赋值运算符
  86. 4.2.1 基本赋值运算符
  87. 4.2.2 复合赋值运算符
  88. 4.3 算术运算符
  89. 4.3.1 一元运算符
  90. 4.3.2 二元运算符
  91. 4.3.3 求余运算
  92. 4.3.4 浮点数求余计算
  93. 4.4 比较运算符(关系运算符)
  94. 4.5 三元条件运算
  95. 4.6 区间运算符
  96. 4.6.1 闭区间运算符
  97. 4.6.2 半闭区间运算符
  98. 4.7 逻辑运算
  99. 4.7.1 逻辑非
  100. 4.7.2 逻辑与
  101. 4.7.3 逻辑或
  102. 4.7.4 组合逻辑
  103. 4.7.5 使用括号设置运算优先级
  104. 4.8 位运算符
  105. 4.8.1 按位取反运算符
  106. 4.8.2 按位与运算符
  107. 4.8.3 按位或运算符
  108. 4.8.4 按位异或运算符
  109. 4.8.5 按位左移/右移运算符
  110. 4.9 溢出运算符
  111. 4.10 运算符函数
  112. 4.10.1 前置和后置运算符
  113. 4.10.2 组合赋值运算符
  114. 4.10.3 比较运算符
  115. 4.11 自定义运算符
  116. 4.12 运算符的优先级和结合性
  117. 第5章 字符串和字符
  118. 5.1 字符和字符串基础
  119. 5.2 字符串字面量
  120. 5.3 初始化空字符串
  121. 5.4 字符串可变性
  122. 5.5 字符串是值类型
  123. 5.6 字符串遍历
  124. 5.7 计算字符数量
  125. 5.8 连接字符串和字符
  126. 5.9 字符串插值
  127. 5.10 比较字符串
  128. 5.10.1 字符串相等
  129. 5.10.2 前缀/后缀相等
  130. 5.10.3 大写和小写字符串
  131. 5.11 国际标准Unicode
  132. 5.11.1 Unicode术语
  133. 5.11.2 字符串的 Unicode 表示
  134. 5.11.3 UTF-8
  135. 5.11.4 UTF-16
  136. 5.11.5 Unicode 标量
  137. 第6章 表达式
  138. 6.1 前缀表达式
  139. 6.2 二元表达式
  140. 6.3 赋值表达式
  141. 6.4 三元条件运算符
  142. 6.5 类型转换运算符
  143. 6.6 主表达式
  144. 6.6.1 字符型表达式
  145. 6.6.2 self表达式
  146. 6.6.3 超类表达式
  147. 6.6.4 闭包表达式
  148. 6.6.5 隐式成员表达式
  149. 6.6.6 圆括号表达式
  150. 6.6.7 通配符表达式
  151. 6.7 后缀表达式
  152. 6.7.1 函数调用表达式
  153. 6.7.2 初始化函数表达式
  154. 6.7.3 显式成员表达式
  155. 6.7.4 后缀self表达式
  156. 6.7.5 动态表达式
  157. 6.7.6 下标脚本表达式
  158. 6.7.7 强制取值表达式
  159. 6.7.8 可选链表达式
  160. 第7章 集合类型
  161. 7.1 数组
  162. 7.1.1 定义数组
  163. 7.1.2 数组构造语句
  164. 7.1.3 访问和修改数组
  165. 7.1.4 数组的遍历
  166. 7.1.5 创建并且构造一个数组
  167. 7.2 字典
  168. 7.2.1 字典字面量
  169. 7.2.2 读取和修改字典
  170. 7.2.3 字典遍历
  171. 7.2.4 创建一个空字典
  172. 7.3 集合的可变性
  173. 第8章 语句和流程控制
  174. 8.1 Swift语句概述
  175. 8.1.1 循环语句
  176. 8.1.2 分支条件语句
  177. 8.1.3 带标签的语句
  178. 8.1.4 控制传递语句
  179. 8.2 for循环
  180. 8.2.1 for-in
  181. 8.2.2 for条件递增
  182. 8.3 while循环
  183. 8.3.1 while
  184. 8.3.2 do-while
  185. 8.4 条件语句
  186. 8.4.1 if语句
  187. 8.4.2 switch
  188. 8.4.3 不存在隐式的贯穿
  189. 8.4.4 区间匹配
  190. 8.4.5 元组
  191. 8.4.6 值绑定
  192. 8.4.7 where
  193. 8.5 控制转移语句
  194. 8.5.1 continue
  195. 8.5.2 break
  196. 8.5.3 贯穿(Fallthrough)
  197. 8.5.4 带标签的语句(Labeled Statements)
  198. 第9章 函数
  199. 9.1 函数的分类
  200. 9.1.1 从函数定义的角度划分
  201. 9.1.2 从是否有返回值角度划分
  202. 9.1.3 从是否有参数角度划分
  203. 9.1.4 库函数
  204. 9.2 函数的定义
  205. 9.2.1 无参函数的定义
  206. 9.2.2 有参函数的定义
  207. 9.3 函数声明
  208. 9.3.1 函数声明的格式
  209. 9.3.2 声明中的参数名
  210. 9.3.3 声明中的特殊类型参数
  211. 9.4 函数调用
  212. 9.4.1 调用函数的格式
  213. 9.4.2 函数调用的方式
  214. 9.5 函数参数
  215. 9.5.1 多重输入参数
  216. 9.5.2 无参函数
  217. 9.5.3 无返回值函数
  218. 9.6 返回值
  219. 9.7 函数参数的名称
  220. 9.7.1 外部参数名
  221. 9.7.2 简写外部参数名
  222. 9.7.3 默认参数值
  223. 9.7.4 默认值参数的外部参数名
  224. 9.7.5 可变参数
  225. 9.7.6 常量参数和变量参数
  226. 9.7.7 输入/输出参数
  227. 9.8 函数类型
  228. 9.8.1 使用函数类型
  229. 9.8.2 函数类型作为参数类型
  230. 9.8.3 函数类型作为返回类型
  231. 9.9 嵌套函数
  232. 9.10 函数和闭包
  233. 9.11 内置库函数
  234. 第10章 闭包
  235. 10.1 闭包表达式
  236. 10.1.1 sort 函数
  237. 10.1.2 闭包表达式语法
  238. 10.1.3 根据上下文推断类型
  239. 10.1.4 单表达式闭包隐式返回
  240. 10.1.5 参数名称的缩写
  241. 10.1.6 运算符函数
  242. 10.2 闭包的简写方式
  243. 10.3 尾随闭包
  244. 10.4 捕获值
  245. 10.5 闭包是引用类型
  246. 第11章 枚举
  247. 11.1 枚举基础
  248. 11.2 枚举语法
  249. 11.3 匹配枚举值和switch语句
  250. 11.4 相关值
  251. 11.5 原始值
  252. 第12章 类
  253. 12.1 类和结构体基础
  254. 12.1.1 定义类和结构体
  255. 12.1.2 声明结构体字段
  256. 12.2 类的成员
  257. 12.2.1 最简单的数据成员
  258. 12.2.2 最重要的函数成员
  259. 12.3 结构体成员
  260. 12.3.1 字段
  261. 12.3.2 函数
  262. 12.3.3 属性
  263. 12.4 类和结构体实例
  264. 12.5 类的继承
  265. 12.5.1 类的层次结构
  266. 12.5.2 继承概述
  267. 12.5.3 定义子类
  268. 12.5.4 重写
  269. 12.5.5 继承规则
  270. 12.6 属性访问
  271. 12.7 结构体和枚举是值类型
  272. 12.8 类是引用类型
  273. 12.8.1 恒等运算符
  274. 12.8.2 指针
  275. 12.9 类和结构体的选择
  276. 12.10 集合类型的赋值和复制行为
  277. 12.10.1 字典类型的赋值和拷贝行为
  278. 12.10.2 数组的赋值和复制行为
  279. 12.10.3 确保数组的唯一性
  280. 12.10.4 判定两个数组是否共用相同元素
  281. 12.10.5 强制复制数组
  282. 第13章 构造函数和析构函数
  283. 13.1 构造函数概述
  284. 13.1.1 结构体中的构造函数
  285. 13.1.2 类中的构造函数
  286. 13.2 构造过程详解
  287. 13.2.1 为存储型属性赋初始值
  288. 13.2.2 定制化构造过程
  289. 13.2.3 默认构造器
  290. 13.2.4 值类型的构造器代理
  291. 13.2.5 类的继承和构造过程
  292. 13.2.6 通过闭包和函数来设置属性的默认值
  293. 13.3 析构函数
  294. 13.3.1 析构过程原理
  295. 13.3.2 析构函数操作
  296. 13.4 综合演练
  297. 第14章 属性
  298. 14.1 属性的种类
  299. 14.2 常用的声明属性
  300. 14.3 类型属性
  301. 14.4 存储属性
  302. 14.4.1 常量和存储属性
  303. 14.4.2 懒惰储存属性
  304. 14.4.3 延迟存储属性
  305. 14.4.4 存储属性和实例变量
  306. 14.5 计算属性
  307. 14.5.1 基本操作
  308. 14.5.2 setter声明的简略写法
  309. 14.5.3 便捷 setter 声明
  310. 14.5.4 只读计算属性
  311. 14.6 属性监视器
  312. 14.7 全局变量和局部变量
  313. 14.8 类型属性
  314. 14.8.1 类型属性语法
  315. 14.8.2 获取和设置类型属性的值
  316. 第15章 方法
  317. 15.1 实例方法
  318. 15.1.1 方法的局部参数名称和外部参数名称
  319. 15.1.2 self属性
  320. 15.1.3 在实例方法中修改值类型
  321. 15.1.4 在变异方法中给self赋值
  322. 15.2 类型方法
  323. 第16章 下标脚本
  324. 16.1 下标脚本语法
  325. 16.2 下标脚本用法
  326. 16.3 下标脚本选项
  327. 第17章 自动引用计数
  328. 17.1 iOS ARC的背景
  329. 17.2 Swift ARC的工作机制
  330. 17.3 自动引用计数实践
  331. 17.4 类实例之间的循环强引用
  332. 17.5 解决实例之间的循环强引用
  333. 17.5.1 弱引用
  334. 17.5.2 无主引用
  335. 17.5.3 无主引用以及隐式解析可选属性
  336. 17.6 闭包引起的循环强引用
  337. 17.7 解决闭包引起的循环强引用
  338. 17.7.1 定义捕获列表
  339. 17.7.2 弱引用和无主引用
  340. 第18章 泛型
  341. 18.1 泛型所解决的问题
  342. 18.2 泛型函数
  343. 18.3 类型参数
  344. 18.4 命名类型参数
  345. 18.5 泛型类型
  346. 18.6 类型约束
  347. 18.6.1 类型约束语法
  348. 18.6.2 类型约束行为
  349. 18.7 关联类型
  350. 18.7.1 关联类型行为
  351. 18.7.2 扩展一个存在的类型为一指定关联类型
  352. 18.8 where 语句
  353. 第19章 可选链
  354. 19.1 可选链可替代强制解析
  355. 19.2 为可选链定义模型类
  356. 19.3 通过可选链调用属性
  357. 19.4 通过可选链调用方法
  358. 19.5 使用可选链调用子脚本
  359. 19.6 连接多层链接
  360. 19.7 链接可选返回值的方法
  361. 第20章 类型检查和嵌套类型
  362. 20.1 定义一个类层次作为例子
  363. 20.2 检查类型(Checking Type)
  364. 20.3 向下转型(Downcasting)
  365. 20.4 Any和AnyObject的类型转换
  366. 20.4.1 AnyObject类型
  367. 20.4.2 Any类型
  368. 20.5 嵌套类型
  369. 20.5.1 嵌套类型实例
  370. 20.5.2 嵌套类型的引用
  371. 第21章 混编开发
  372. 21.1 在同一个工程中使用Swift和Objective-C
  373. 21.1.1 Mix and Match概述
  374. 21.1.2 在同一个应用的target中导入
  375. 21.1.3 在同一个框架的target中导入
  376. 21.1.4 导入外部框架
  377. 21.1.5 在Objective-C中使用Swift
  378. 21.1.6 实战演练Swift 与Objective-C的相互调用
  379. 21.2 Swift调用C函数
  380. 21.2.1 调用简单的C函数
  381. 21.2.2 增加一个C键盘输入函数
  382. 21.3 Swift调用C函数的综合演练
  383. 第22章 扩展
  384. 22.1 扩展语法
  385. 22.2 计算型属性
  386. 22.3 构造器
  387. 22.4 扩展方法
  388. 22.5 下标
  389. 22.6 嵌套类型
  390. 22.7 扩展字符串截取方法
  391. 22.7.1 演示扩展字符串的用法
  392. 22.7.2 使用Swift String扩展截取字符串
  393. 22.8 在iOS项目中使用扩展
  394. 22.9 用Swift编写UITextField扩展
  395. 第23章 协议
  396. 23.1 协议的语法
  397. 23.2 对属性的规定
  398. 23.3 对方法的规定
  399. 23.4 对突变方法的规定
  400. 23.5 协议类型
  401. 23.6 委托模式
  402. 23.7 在扩展中添加协议成员
  403. 23.8 通过扩展补充协议声明
  404. 23.9 集合中的协议类型
  405. 23.10 协议的继承
  406. 23.11 协议合成
  407. 23.12 检验协议的一致性
  408. 23.13 对可选协议的规定
  409. 第24章 Sprite Kit游戏开发
  410. 24.1 Sprite Kit框架基础
  411. 24.1.1 Sprite Kit的优点和缺点
  412. 24.1.2 Sprite Kit、Cocos2D、Cocos2D-X和Unity的选择
  413. 24.2 开发一个Flappy Bird游戏
  414. 24.3 开发一个iPad飞行游戏(基于Swift)
  415. 24.3.1 创建工程
  416. 24.3.2 载入有云的天空的动画
  417. 24.3.3 实现二维飞行界面
  418. 24.3.4 生成发射子弹视图
  419. 24.3.5 定义敌人类
  420. 24.4 开发一个方块游戏