作品简介

张益珲编著的《Swift从入门到精通》由专业的iOS开发工程师根据Swift3精心编撰,兼备核心语法、编程技巧与应用实践3大主题。第一部分从Xcode开发工具及Swift学习环境的搭建开始,重点介绍Swift3的语言特性和应用场景,并提供了大量编程练习,帮助读者尽快掌握Swift语言的精髓。第二部分介绍Swift开发iOS应用的基本技能,包括独立UI控件的应用、视图界面逻辑的开发、动画与布局技术、网络与数据处理技术等,旨在带领读者掌握独立开发一款iOS应用程序的能力。第三部分为应用部分,这部分安排了3个实战项目(简易计算器、生活记事本、中国象棋游戏),项目的安排有简到难,旨在全面锻炼

读者的实际开发能力,使用Swift进行开发实践。

通过本书的学习,读者可以轻松地掌握使用Swift语言开发一款iOS软件从理论到实践的全部技术细节。本书适合使用Swift3开发iOS应用的新手,有Objective-C基础想学习Swift3的iOS开发人员,也很适合用作培训机构与大中专院校移动开发课程的教学参考书。

张益珲软件开发工程师,拥有多年iOS开发经验,曾开发iOS平台系列——游戏疯狂越狱1~2、应用物通配货软件、VIPExam考试库、证券财经软件等,现就职于中国唯品会。2016年出版著作《iOS开发实战:从零基础到AppStore上架》。

作品目录

  • 作者简介
  • 内容简介
  • 推荐序 从入门到开车
  • 前言
  • 第1部分 Swift语言基础
  • 第1章 学习环境的搭建
  • 1.1 申请个人AppleID账号
  • 1.2 下载与安装Xcode开发工具
  • 1.3 Xcode开发工具简介
  • 1.4 使用Playground进行Swift代码演练
  • 第2章 量值与基本数据类型
  • 2.1 变量与常量
  • 2.1.1 变量与常量的定义和使用
  • 2.1.2 变量和常量的命名规范
  • 2.2 关于注释
  • 2.3 初识基本数据类型
  • 2.3.1 数学进制与计算机存储原理
  • 2.3.2 整型数据
  • 2.3.3 浮点型数据
  • 2.3.4 布尔型数据
  • 2.4 两种特殊的基本数据类型
  • 2.4.1 元组
  • 2.4.2 可选值类型
  • 2.5 为类型取别名
  • 2.6 练习及解析
  • 第3章 字符、字符串与集合类型
  • 3.1 字符串类型
  • 3.1.1 进行字符串的构造
  • 3.1.2 字符串的组合
  • 3.2 字符类型
  • 3.2.1 字符类型简介
  • 3.2.2 转义字符
  • 3.3 字符串类型中的常用方法
  • 3.4 集合类型
  • 3.4.1 Array数组类型
  • 3.4.2 Set集合类型
  • 3.4.3 Dictionary字典类型
  • 3.5 练习及解析
  • 第4章 基本运算符与程序流程控制
  • 4.1 初识运算符
  • 4.1.1 赋值运算符
  • 4.1.2 基本算术运算符
  • 4.1.3 基本逻辑运算符
  • 4.1.4 比较运算符
  • 4.1.5 条件运算符
  • 4.2 Swift语言中两种特殊的运算符
  • 4.2.1 空合并运算符
  • 4.2.2 区间运算符
  • 4.3 循环结构
  • 4.3.1 for-in循环结构
  • 4.3.2 while与repeat-while条件循环结构
  • 4.4 条件选择与多分支选择结构
  • 4.4.1 if与if-else条件选择结构
  • 4.4.2 switch-case多分支选择结构
  • 4.5 Swift语言中的流程跳转语句
  • 4.6 练习及解析
  • 第5章 函数与闭包技术
  • 5.1 函数的基本应用
  • 5.1.1 函数的创建与调用
  • 5.1.2 关于函数的参数名
  • 5.1.3 函数中参数的默认值、不定数量参数与inout类型参数
  • 5.2 函数的类型与函数嵌套
  • 5.3 理解闭包结构
  • 5.3.1 闭包的语法结构
  • 5.3.2 通过实现一个排序函数来深入理解闭包
  • 5.4 将闭包作为参数传递时的写法优化
  • 5.5 后置闭包、逃逸闭包与自动闭包
  • 5.6 练习及解析
  • 第6章 高级运算符与枚举
  • 6.1 位运算符与溢出运算符
  • 6.1.1 位运算符的应用
  • 6.1.2 溢出运算符
  • 6.2 运算符的重载与自定义
  • 6.2.1 重载运算符
  • 注意
  • 6.2.2 自定义运算符
  • 6.3 运算符的优先级与结合性
  • 6.4 枚举类型的创建与应用
  • 6.5 枚举的原始值与相关值
  • 6.5.1 枚举的原始值
  • 6.5.2 枚举的相关值
  • 6.5.3 递归枚举
  • 6.6 练习及解析
  • 第7章 类与结构体
  • 7.1 类与结构体的定义
  • 7.1.1 结构体
  • 7.1.2 类
  • 7.2 设计一个交通工具类
  • 7.3 开发中类与结构体的应用场景
  • 7.4 练习及解析
  • 第8章 属性与方法
  • 8.1 存储属性与计算属性
  • 8.1.1 存储属性的意义及应用
  • 8.1.2 计算属性的意义及应用
  • 8.2 属性监听器
  • 8.3 实例属性与类属性
  • 8.4 实例方法与类方法
  • 8.4.1 实例方法的意义与应用
  • 8.4.2 类方法
  • 8.5 下标方法
  • 8.6 练习及解析
  • 第9章 构造方法与析构方法
  • 9.1 构造方法的设计与使用
  • 9.2 指定构造方法与便利构造方法
  • 9.3 构造方法的继承关系
  • 9.4 构造方法的安全性检查
  • 9.5 可失败构造方法与必要构造方法
  • 9.6 析构方法
  • 9.7 练习及解析
  • 第10章 内存管理与异常处理
  • 10.1 自动引用计数
  • 10.2 循环引用及其解决方法
  • 10.3 闭包中的循环引用
  • 10.4 异常的抛出与传递
  • 10.5 异常的捕获与处理
  • 10.6 延时执行结构
  • 10.7 练习及解析
  • 第11章 类型转换、泛型、扩展与协议
  • 11.1 类型检查与转换
  • 11.1.1 Swift语言中的类型检查
  • 11.1.2 Swift语言中的类型转换
  • 11.2 Any与AnyObject类型
  • 11.3 泛型
  • 11.3.1 初识泛型
  • 11.3.2 对泛型进行约束
  • 11.4 扩展与协议
  • 11.4.1 使用扩展对已经存在的数据类型进行补充
  • 11.4.2 协议的特点与应用
  • 11.4.3 协议与扩展的结合
  • 第2部分 iOS开发基础
  • 第12章 UI控件与逻辑交互(1)
  • 12.1 iOS项目工程简介
  • 12.1.1 创建iOS项目工程
  • 12.1.2 运行第一个iOS程序
  • 12.2 标签控件——UILabel
  • 12.2.1 使用代码创建一个UILabel控件
  • 12.2.2 自定义UILable控件的展示效果
  • 12.2.3 定义更加丰富多彩的UILabel控件
  • 12.3 按钮控件——UIButton
  • 12.3.1 创建UIButton按钮控件
  • 12.3.2 为按钮添加触发事件
  • 12.3.3 为UIButton添加自定义图片
  • 12.4 图片显示控件——UIImageView
  • 12.4.1 图片类UIImage
  • 12.4.2 使用UIImageView进行图片的展示
  • 12.4.3 使用UIImageView播放动画
  • 12.5 文本输入框控件——UITextField
  • 12.5.1 创建文本输入框控件
  • 12.5.2 为UITextField设置左右视图
  • 12.5.3 UITextField控件的代理方法
  • 12.6 开关控件UISwitch
  • 12.7 分页控制器——UIPageControl
  • 12.8 分部控制器——UISegmentedControl
  • 12.8.1 创建分布控制器控件
  • 12.8.2 UISegmentedControl控件中按钮的增删改操作
  • 12.8.3 关于UISegmentedControl控件中按钮的尺寸问题
  • 第13章 UI控件与逻辑交互(2)
  • 13.1 滑块控件UISlider
  • 13.1.1 UISlider控件的创建与设置
  • 13.1.2 UISlider控件的外观自定义与用户交互
  • 13.2 活动指示器UIActivityIndicatorView
  • 13.3 进度条控件UIProgressView
  • 13.4 步进器UIStepper
  • 13.5 选择器控件UIPickerView
  • 13.6 时间选择器UIDataPicker
  • 13.7 搜索栏控件UISearchBar
  • 13.7.1 创建UISearchBar控件
  • 13.7.2 UISearchBar控件的更多功能按钮
  • 13.7.3 UISearchBar控件的附件视图
  • 13.7.4 UISearchBarDelegate协议详解
  • 第14章 视图控制器与高级UI视图控件
  • 14.1 应用程序的界面管理器UIViewController
  • 14.1.1 关于MVC设计模式
  • 14.1.2 UIViewController的生命周期
  • 14.1.3 UIViewController之间的切换与传值
  • 14.2 导航视图控制器UINavigationController
  • 14.2.1 理解导航结构
  • 14.2.2 搭建使用导航结构的项目
  • 14.2.3 对导航栏进行自定义设置
  • 14.2.4 使用导航进行视图控制器的切换管理
  • 14.3 标签栏控制器UITabBarController
  • 14.3.1 创建以UITabBarController为项目结构工程
  • 14.3.2 对UITabBarController中的标签进行自定义配置
  • 14.3.3 标签栏上标签的溢出与排序功能
  • 14.4 警告视图控制器的应用
  • 14.4.1 认识UIAlertAction类
  • 14.4.2 使用UIAlertController创建警告框弹窗
  • 14.4.3 使用UIAlertController创建抽屉弹窗
  • 14.5 网页视图的应用
  • 14.5.1 网页视图UIWebView
  • 14.5.2 认识WebKit框架
  • 14.5.3 使用WKWebViewConfiguration对网页视图进行配置
  • 14.5.4 WKWebView中重要属性和方法解析
  • 14.5.5 关于WKUIDelegate协议
  • 14.6 滚动视图UIScrollView的应用
  • 14.6.1 创建UIScrollView滚动视图
  • 14.6.2 UIScrollViewDelegate协议介绍
  • 14.6.3 UIScrollView的缩放操作
  • 14.7 列表视图UITableView的应用
  • 14.7.1 创建UITableView列表
  • 14.7.2 进行数据载体UITableViewCell的自定义
  • 14.7.3 UITableView的编辑模式
  • 14.7.4 为UITableView添加索引栏
  • 14.8 集合视图UICollectionView的应用
  • 14.8.1 使用UICollectionView实现简单的九宫格布局
  • 14.8.2 使用FlowLayout进行更加灵活的九宫格布局
  • 14.8.3 实现炫酷的瀑布流布局
  • 14.9 分页控制器UIPageViewController的应用
  • 14.9.1 创建一个UIPageViewController工程
  • 14.9.2 关于UIPageViewControllerDelegate的更多应用
  • 第15章 动画与界面布局技术
  • 15.1 使用UIView层动画实现属性渐变效果
  • 15.1.1 UIView层的属性过渡动画
  • 15.1.2 UIView层的转场动画
  • 15.2 通过GIF文件播放动画
  • 15.2.1 使用原生的UIImageView来播放GIF动态图
  • 15.2.2 使用UIWebView来进行GIF动态图的播放
  • 15.3 iOS开发中的CoreAnimation核心动画技术
  • 15.3.1 初识CoreAnimation框架
  • 15.3.2 锚点对视图几何属性的影响
  • 15.3.3 几种常用的CALayer子类介绍
  • 15.3.4 CoreAnimation框架中的属性动画介绍
  • 15.3.5 CoreAnimation框架中的转场动画与组合动画
  • 15.4 炫酷的粒子效果
  • 15.4.1 粒子发射引擎与粒子单元
  • 15.4.2 创建火焰粒子效果
  • 15.5 Autolayout自动布局技术
  • 15.5.1 使用storyboard或者xib文件进行界面的自动布局
  • 15.5.2 进行视图间的约束布局
  • 15.5.3 使用原生代码进行Autolayout自动布局
  • 15.5.4 使用第三方框架SnapKit进行Autolayout自动布局
  • 15.6 使用Autolayout创建自适应高度的UITextView输入框
  • 第16章 网络与数据存储技术
  • 16.1 获取互联网上公开API所提供的数据
  • 16.1.1 注册APIStore会员
  • 16.1.2 进行API接口测试
  • 16.1.3 关于JSON数据格式
  • 16.2 在iOS开发中进行网络数据请求
  • 16.2.1 关于HTTP网络请求协议
  • 16.2.2 使用URLSesstion进行网络请求
  • 16.3 使用UserDefaults进行简单数据的持久化存储
  • 16.3.1 使用UserDefaults与Plist文件进行常见类型数据的存储
  • 16.3.2 使用Plist文件进行数据持久化处理
  • 16.4 iOS开发中的归档技术应用
  • 16.4.1 对简单数据类型的归档操作
  • 16.4.2 对自定义数据类型进行归档操作
  • 16.5 数据库在iOS开发中的应用
  • 16.5.1 操作数据库常用语句
  • 16.5.2 可视化数据库管理工具MesaSQLite的简单应用
  • 16.5.3 libsqlite3数据库操作库简介
  • 16.5.4 在iOS工程中调用libsqlite3库操作数据库
  • 16.6 使用CoreData框架进行数据管理
  • 16.6.1 使用CoreData框架进行数据模型设计
  • 16.6.2 使用CoreData进行数据的添加与查询操作
  • 第3部分 项目实战
  • 第17章 实战一:简易计算器
  • 17.1 计算器按键与操作面板的封装
  • 17.2 计算器显示板输入显示的逻辑开发
  • 17.3 计算器计算逻辑的设计
  • 17.4 为应用添加图标与启动页
  • 第18章 实战二:点滴生活记事本
  • 18.1 项目工程的搭建
  • 18.2 主页记事分组视图的开发
  • 18.3 添加分组功能的开发
  • 18.4 数据库引入与记事分组信息的持久化
  • 18.5 记事列表界面的搭建
  • 18.6 新建记事功能的开发
  • 18.7 更新记事与删除记事功能的开发
  • 第19章 实战三:《中国象棋》游戏
  • 19.1 项目工程的搭建与音频模块的开发
  • 19.2 《中国象棋》棋子控件的开发
  • 19.3 《中国象棋》棋盘控件的开发
  • 19.4 “兵”与“卒”行棋逻辑的开发
  • 19.5 “将”与“士”相关棋子行棋逻辑的开发
  • 19.6 “象”与“马”相关棋子行棋逻辑的开发
  • 19.7 “车”与“炮”棋子行棋逻辑的开发
  • 19.8 胜负判定逻辑开发与游戏功能完善
  • 19.9 拆分冗长的checkCanMove()方法
  • 附录A CocoaPods库管理工具的应用
  • 附录B 关键概念检索表
展开全部