Swift 5从零到精通iOS开发训练营

Swift 5从零到精通iOS开发训练营
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2021-10
版次: 1
ISBN: 9787302588641
定价: 119.00
装帧: 其他
开本: 16开
纸张: 胶版纸
字数: 762.000千字
  • 本书由专业的iOS开发工程师根据新发布的Swift 5.5编程语言精心编撰,书中兼备核心语法、编程技巧与应用实践3大主题。本书部分从Xcode开发工具及Swift学习环境的搭建开始,重点介绍Swift的语言特性和应用场景,提供了大量编程练习,帮助读者尽快掌握Swift语言的精髓。第二部分介绍Swift开发iOS应用的基本技能,包括独立UI控件的应用、视图界面逻辑的开发、动画与布局技术、网络与数据处理技术以及新的SwiftUI编程技术等,旨在带领读者独立开发一款iOS应用程序。第三部分为应用部分,这部分安排了实战项目(简易计算器、生活记事本、中国象棋游戏),项目的安排由简到难,旨在全面锻炼读者的实际开发能力,使用Swift进行开发实践。本书还在每一章中插入了模拟面试题,以帮助读者应对iOS开发职位的面试。 通过本书的学习,读者可以轻松地掌握使用Swift语言开发一款iOS软件从理论到实践的全部技术细节。本书适合使用Swift 开发iOS应用的新手,以及有Objective-C基础,想学习Swift 的iOS开发人员学习,也适合作为培训机构与大中专院校移动开发课程的教学用书或面试指导书。 张益珲(网名:珲少)

    多年iOS开发经验,51CTO学院、CSDN学院签约讲师 ,主要从事移动端应用开发,曾就职于国内知名电商网站,从事iOS端应用程序的业务开发与性能优化工作。目前在国内知名社交产品公司从事IM系统的架构设计工作。对iOS开发、React Native和Flutter跨平台开发及JavaScript前端开发都拥有丰富的经验。已出版《iOS开发实战:从零基础到App Store上架》《React Native全教程:移动端跨平台应用开发》《iOS开发实战:从零基础到上架App Store(第3版)》《Swift从零到精通iOS开发》等多本编程著作。开源中国特邀技术专家,发表相关技术博客400余篇,访问量100万余次。 部分  Swift语言基础语法

    第1章  学习环境的搭建 3

    1.1  申请个人AppleID账号 3

    1.2  下载与安装Xcode开发工具 4

    1.3  Xcode开发工具简介 5

    1.4  使用Playground进行Swift代码演练 8

    第2章  量值与基本数据类型 11

    2.1  变量与常量 12

    2.1.1  变量与常量的定义和使用 12

    2.1.2  变量和常量的命名规范 13

    2.2  关于注释 14

    2.3  初识基本数据类型 15

    2.3.1  数学进制与计算机存储原理 15

    2.3.2  整型数据 16

    2.3.3  浮点型数据 17

    2.3.4  布尔型数据 17

    2.4  两种特殊的基本数据类型 18

    2.4.1  元组 18

    2.4.2  可选值类型 19

    2.5  为类型取别名 22

    2.6  练习及解析 22

    2.7  模拟面试 23

    第3章  字符、字符串与集合类型 25

    3.1  字符串类型 26

    3.1.1  进行字符串的构造 26

    3.1.2  字符串的组合 27

    3.2  字符类型 27

    3.2.1  字符类型简介 27

    3.2.2  转义字符 28

    3.3  字符串类型中的常用方法 29

    3.4  集合类型 31

    3.4.1  数组(Array)类型 32

    3.4.2  集合(Set)类型 35

    3.4.3  字典(Dictionary)类型 37

    3.5  练习及解析 40

    3.6  模拟面试 42

    第4章  基本运算符与程序流程控制 44

    4.1  初识运算符 45

    4.1.1  赋值运算符 45

    4.1.2  基本算术运算符 45

    4.1.3  基本逻辑运算符 46

    4.1.4  比较运算符 47

    4.1.5  条件运算符 48

    4.2  Swift语言中两种特殊的运算符 48

    4.2.1  空合并运算符 48

    4.2.2  区间运算符 49

    4.3  循环结构 50

    4.3.1  for-in循环结构 50

    4.3.2  while与repeat-while条件循环结构 51

    4.4  条件选择与多分支选择结构 52

    4.4.1  if与if-else条件选择结构 52

    4.4.2  switch-case多分支选择结构 53

    4.5  Swift语言中的流程跳转语句 56

    4.6  练习及解析 59

    4.7  模拟面试 62

    第5章  函数与闭包技术 64

    5.1  函数的基本应用 65

    5.1.1  函数的创建与调用 65

    5.1.2  关于函数的参数名 66

    5.1.3  函数中参数的默认值、不定数量参数与inout类型参数 68

    5.2  函数的类型与函数嵌套 69

    5.3  理解闭包结构 71

    5.3.1  闭包的语法结构 71

    5.3.2  通过实现一个排序函数来深入理解闭包 72

    5.4  将闭包作为参数传递时的写法优化 74

    5.5  后置闭包、逃逸闭包与自动闭包 75

    5.6  练习及解析 77

    5.7  模拟面试 80

    第6章  高级运算符与枚举 81

    6.1  位运算符与溢出运算符 82

    6.1.1  位运算符的应用 82

    6.1.2  溢出运算符 83

    6.2  运算符的重载与自定义 84

    6.2.1  重载运算符 84

    6.2.2  自定义运算符 86

    6.3  运算符的优先级与结合性 87

    6.4  枚举类型的创建与应用 89

    6.5  枚举的原始值与相关值 91

    6.5.1  枚举的原始值 91

    6.5.2  枚举的相关值 92

    6.5.3  递归枚举 93

    6.6  练习及解析 96

    6.7  模拟面试 97

    第7章  类与结构体 99

    7.1  类与结构体的定义 99

    7.1.1  结构体 100

    7.1.2  类 101

    7.2  设计一个交通工具类 103

    7.3  开发中类与结构体的应用场景 105

    7.4  练习及解析 106

    7.5  模拟面试 108

    第8章  属性与方法 110

    8.1  存储属性与计算属性 111

    8.1.1  存储属性的意义及应用 111

    8.1.2  计算属性的意义及应用 113

    8.2  属性监听器 115

    8.3  属性包装器 116

    8.4  实例属性与类属性 119

    8.5  实例方法与类方法 119

    8.5.1  实例方法的意义与应用 120

    8.5.2  类方法 121

    8.6  下标方法 122

    8.7  练习及解析 124

    8.8  模拟面试 124

    第9章  构造方法与析构方法 126

    9.1  构造方法的设计与使用 126

    9.2  指定构造方法与便利构造方法 129

    9.3  构造方法的继承关系 131

    9.4  构造方法的安全性检查 132

    9.5  可失败构造方法与必要构造方法 134

    9.6  析构方法 135

    9.7  练习与解析 135

    9.8  模拟面试 137

    第10章  内存管理与异常处理 138

    10.1  自动引用计数 139

    10.2  循环引用及其解决方法 141

    10.3  闭包中的循环引用 146

    10.4  异常的抛出与传递 147

    10.5  异常的捕获与处理 148

    10.6  延时执行结构 149

    10.7  练习与解析 150

    10.8  模拟面试 151

    第11章  类型转换、泛型、扩展与协议 152

    11.1  类型检查与转换 153

    11.1.1  Swift语言中的类型检查 153

    11.1.2  Swift语言中的类型转换 154

    11.2  Any与AnyObject类型 155

    11.3  泛型 156

    11.3.1  初识泛型 156

    11.3.2  对泛型进行约束 158

    11.4  扩展与协议 160

    11.4.1  使用扩展对已经存在的数据类型进行补充 160

    11.4.2  协议的特点与应用 162

    11.4.3  协议与扩展的结合 165

    11.5  模拟面试 165

    第12章  Swift的高级特性 167

    12.1  内存安全检查(独占访问权限) 167

    12.2  关联类型可以添加where约束子句 170

    12.3  增强字符串和区间运算符的功能 170

    12.4  动态成员查找与动态方法调用 172

    12.5  泛型与协议功能的增强 173

    12.6  模拟面试 175

    第二部分  iOS开发基础

    第13章  UI控件与逻辑交互(1) 179

    13.1  iOS项目工程简介 180

    13.1.1  创建iOS项目工程 180

    13.1.2  运行个iOS程序 181

    13.2  标签控件——UILabel 184

    13.2.1  使用代码创建一个UILabel控件 184

    13.2.2  自定义UILable控件的展示效果 185

    13.2.3  定义更加丰富多彩的UILabel控件 186

    13.3  按钮控件——UIButton 188

    13.3.1  创建UIButton按钮控件 188

    13.3.2  为按钮添加触发事件 190

    13.3.3  为UIButton添加自定义图片 191

    13.4  图片显示控件——UIImageView 192

    13.4.1  图片类UIImage 193

    13.4.2  使用UIImageView进行图片的展示 193

    13.4.3  使用UIImageView播放动画 194

    13.5  文本输入框控件——UITextField 196

    13.5.1  创建文本输入框控件 196

    13.5.2  为UITextField设置左右视图 198

    13.5.3  UITextField控件的代理方法 199

    13.6  开关控件UISwitch 201

    13.7  分页控制器——UIPageControl 203

    13.8  分部控制器——UISegmentedControl 204

    13.8.1  创建分布控制器控件 204

    13.8.2  UISegmentedControl控件中按钮的增、删、改操作 205

    13.8.3  关于UISegmentedControl控件中按钮的尺寸问题 206

    13.9  模拟面试 207

    第14章  UI控件与逻辑交互(2) 208

    14.1  滑块控件UISlider 208

    14.1.1  UISlider控件的创建与设置 209

    14.1.2  UISlider控件的外观自定义与用户交互 209

    14.2  活动指示器控件UIActivityIndicatorView 211

    14.3  进度条控件UIProgressView 212

    14.4  步进器控件UIStepper 213

    14.5  选择器控件UIPickerView 215

    14.6  时间选择器控件UIDataPicker 219

    14.7  搜索栏控件UISearchBar 221

    14.7.1  创建UISearchBar控件 221

    14.7.2  UISearchBar控件的更多功能按钮 224

    14.7.3  UISearchBar控件的附件视图 225

    14.7.4  UISearchBarDelegate协议详解 226

    14.8  模拟面试 227

    第15章  视图控制器与高级UI视图控件 229

    15.1  应用程序的界面管理器UIViewController 230

    15.1.1  关于MVC设计模式 230

    15.1.2  UIViewController的生命周期 231

    15.1.3  UIViewController之间的切换与传值 232

    15.2  导航视图控制器UINavigationController 238

    15.2.1  理解导航结构 238

    15.2.2  搭建使用导航结构的项目 238

    15.2.3  对导航栏进行自定义设置 240

    15.2.4  使用导航进行视图控制器的切换管理 243

    15.3  标签栏控制器UITabBarController 244

    15.3.1  创建以UITabBarController为项目结构的工程 244

    15.3.2  对UITabBarController中的标签进行自定义配置 247

    15.3.3  标签栏上标签的溢出与排序功能 249

    15.4  警告视图控制器的应用 251

    15.4.1  认识UIAlertAction类 251

    15.4.2  使用UIAlertController创建警告框弹窗 252

    15.4.3  使用UIAlertController创建抽屉弹窗 254

    15.5  网页视图的应用 254

    15.5.1  网页视图UIWebView 255

    15.5.2  认识WebKit框架 258

    15.5.3  使用WKWebViewConfiguration对网页视图进行配置 259

    15.5.4  WKWebView中重要的属性和方法解析 261

    15.5.5  关于WKUIDelegate协议 262

    15.6  滚动视图UIScrollView的应用 263

    15.6.1  创建UIScrollView滚动视图 263

    15.6.2  UIScrollViewDelegate协议介绍 265

    15.6.3  UIScrollView的缩放操作 266

    15.7  列表视图UITableView的应用 267

    15.7.1  创建UITableView列表 267

    15.7.2  进行数据载体UITableViewCell的自定义 271

    15.7.3  UITableView的编辑模式 274

    15.7.4  为UITableView添加索引栏 277

    15.8  集合视图UICollectionView的应用 279

    15.8.1  使用UICollectionView实现简单的九宫格布局 279

    15.8.2  使用FlowLayout进行更加灵活的九宫格布局 281

    15.8.3  实现炫酷的瀑布流布局 283

    15.9  模拟面试 286

    第16章  动画与界面布局技术 288

    16.1  使用UIView层动画实现属性渐变效果 289

    16.1.1  UIView层的属性过渡动画 289

    16.1.2  UIView层的转场动画 292

    16.2  通过GIF文件播放动画 294

    16.2.1  使用原生的UIImageView来播放GIF动态图 294

    16.2.2  使用UIWebView进行GIF动态图的播放 296

    16.3  iOS开发中的CoreAnimation核心动画技术 297

    16.3.1  初识CoreAnimation框架 297

    16.3.2  锚点对视图几何属性的影响 297

    16.3.3  几种常用的CALayer子类介绍 298

    16.3.4  CoreAnimation框架中的属性动画介绍 302

    16.3.5  CoreAnimation框架中的转场动画与组合动画 303

    16.4  炫酷的粒子效果 305

    16.4.1  粒子发射引擎与粒子单元 305

    16.4.2  创建火焰粒子效果 307

    16.5  Autolayout自动布局技术 309

    16.5.1  使用Storyboard或者XIB文件进行界面的自动布局 309

    16.5.2  进行视图间的约束布局 312

    16.5.3  使用原生代码进行Autolayout自动布局 313

    16.5.4  使用第三方框架SnapKit进行Autolayout自动布局 316

    16.6  使用Autolayout创建自适应高度的UITextView输入框 318

    16.7  模拟面试 319

    第17章  网络与数据存储技术 321

    17.1  获取互联网上公开API所提供的数据 321

    17.1.1  注册天行API会员 322

    17.1.2  进行API接口测试 322

    17.1.3  关于JSON数据格式 323

    17.2  在iOS开发中进行网络数据请求 324

    17.2.1  关于HTTP网络请求协议 325

    17.2.2  使用URLSesstion进行网络请求 325

    17.3  使用UserDefaults进行简单数据的持久化存储 327

    17.3.1  使用UserDefaults与Plist文件进行常见类型数据的存储 328

    17.3.2  使用Plist文件进行数据持久化处理 329

    17.4  iOS开发中的归档技术应用 331

    17.4.1  对简单数据类型的归档操作 331

    17.4.2  对自定义数据类型进行归档操作 333

    17.5  数据库在iOS开发中的应用 334

    17.5.1  操作数据库常用语句 334

    17.5.2  可视化数据库管理工具MesaSQLite的简单应用 337

    17.5.3  libsqlite3数据库操作库简介 338

    17.5.4  在iOS工程中调用libsqlite3库操作数据库 340

    17.6  使用CoreData框架进行数据管理 344

    17.6.1  使用CoreData框架进行数据模型设计 344

    17.6.2  使用CoreData进行数据的添加与查询操作 346

    17.7  模拟面试 348

    第18章  SwiftUI技术 349

    18.1  视图的布局方式 349

    18.1.1  SwiftUI布局初体验 350

    18.1.2  使用图片组件 353

    18.1.3  在SwiftUI中使用UIKit中的组件 354

    18.2  SwiftUI中的列表视图 354

    18.2.1  编写行视图 354

    18.2.2  将数据关联到视图 355

    18.2.3  构建列表视图 356

    18.3  使用导航进行页面跳转 357

    18.4  处理用户交互 360

    18.4.1  SwiftUI中的按钮组件 360

    18.4.2  SwiftUI中的状态 361

    18.4.3  使用环境对象 362

    18.5  SwiftUI自定义绘制 363

    18.5.1  图形绘制 363

    18.5.2  设置绘制属性 365

    18.5.3  简单的图形变换与组合 367

    18.6  SwiftUI中的动画技术 368

    18.6.1  属性动画 368

    18.6.2  转场动画 369

    18.7  模拟面试 370

    第三部分  实战

    第19章  实战一:简易计算器 373

    19.1  计算器按键与操作面板的封装 373

    19.2  计算器显示板输入显示的逻辑开发 377

    19.3  计算器计算逻辑的设计 381

    19.4  为应用添加图标与启动页 384

    第20章  实战二:点滴生活记事本 386

    20.1  项目工程的搭建 386

    20.2  主页记事分组视图的开发 389

    20.3  添加分组功能的开发 392

    20.4  数据库引入与记事分组信息的持久化 394

    20.5  记事列表界面的搭建 396

    20.6  新建记事功能的开发 399

    20.7  更新记事与删除记事功能的开发 406

    第21章  实战三:《中国象棋》游戏 411

    21.1  项目工程的搭建与音频模块的开发 411

    21.2  《中国象棋》棋子控件的开发 415

    21.3  《中国象棋》棋盘控件的开发 418

    21.4  “兵”与“卒”行棋逻辑的开发 422

    21.5  “将”与“士”相关棋子行棋逻辑的开发 429

    21.6  “象”与“马”相关棋子行棋逻辑的开发 432

    21.7  “车”与“炮”棋子行棋逻辑的开发 437

    21.8  胜负判定逻辑开发与游戏功能完善 441

    21.9  拆分冗长的checkCanMove()方法 446

    附录A  CocoaPods库管理工具的应用 454

    附录B  关键概念检索表 458
  • 内容简介:
    本书由专业的iOS开发工程师根据新发布的Swift 5.5编程语言精心编撰,书中兼备核心语法、编程技巧与应用实践3大主题。本书部分从Xcode开发工具及Swift学习环境的搭建开始,重点介绍Swift的语言特性和应用场景,提供了大量编程练习,帮助读者尽快掌握Swift语言的精髓。第二部分介绍Swift开发iOS应用的基本技能,包括独立UI控件的应用、视图界面逻辑的开发、动画与布局技术、网络与数据处理技术以及新的SwiftUI编程技术等,旨在带领读者独立开发一款iOS应用程序。第三部分为应用部分,这部分安排了实战项目(简易计算器、生活记事本、中国象棋游戏),项目的安排由简到难,旨在全面锻炼读者的实际开发能力,使用Swift进行开发实践。本书还在每一章中插入了模拟面试题,以帮助读者应对iOS开发职位的面试。 通过本书的学习,读者可以轻松地掌握使用Swift语言开发一款iOS软件从理论到实践的全部技术细节。本书适合使用Swift 开发iOS应用的新手,以及有Objective-C基础,想学习Swift 的iOS开发人员学习,也适合作为培训机构与大中专院校移动开发课程的教学用书或面试指导书。
  • 作者简介:
    张益珲(网名:珲少)

    多年iOS开发经验,51CTO学院、CSDN学院签约讲师 ,主要从事移动端应用开发,曾就职于国内知名电商网站,从事iOS端应用程序的业务开发与性能优化工作。目前在国内知名社交产品公司从事IM系统的架构设计工作。对iOS开发、React Native和Flutter跨平台开发及JavaScript前端开发都拥有丰富的经验。已出版《iOS开发实战:从零基础到App Store上架》《React Native全教程:移动端跨平台应用开发》《iOS开发实战:从零基础到上架App Store(第3版)》《Swift从零到精通iOS开发》等多本编程著作。开源中国特邀技术专家,发表相关技术博客400余篇,访问量100万余次。
  • 目录:
    部分  Swift语言基础语法

    第1章  学习环境的搭建 3

    1.1  申请个人AppleID账号 3

    1.2  下载与安装Xcode开发工具 4

    1.3  Xcode开发工具简介 5

    1.4  使用Playground进行Swift代码演练 8

    第2章  量值与基本数据类型 11

    2.1  变量与常量 12

    2.1.1  变量与常量的定义和使用 12

    2.1.2  变量和常量的命名规范 13

    2.2  关于注释 14

    2.3  初识基本数据类型 15

    2.3.1  数学进制与计算机存储原理 15

    2.3.2  整型数据 16

    2.3.3  浮点型数据 17

    2.3.4  布尔型数据 17

    2.4  两种特殊的基本数据类型 18

    2.4.1  元组 18

    2.4.2  可选值类型 19

    2.5  为类型取别名 22

    2.6  练习及解析 22

    2.7  模拟面试 23

    第3章  字符、字符串与集合类型 25

    3.1  字符串类型 26

    3.1.1  进行字符串的构造 26

    3.1.2  字符串的组合 27

    3.2  字符类型 27

    3.2.1  字符类型简介 27

    3.2.2  转义字符 28

    3.3  字符串类型中的常用方法 29

    3.4  集合类型 31

    3.4.1  数组(Array)类型 32

    3.4.2  集合(Set)类型 35

    3.4.3  字典(Dictionary)类型 37

    3.5  练习及解析 40

    3.6  模拟面试 42

    第4章  基本运算符与程序流程控制 44

    4.1  初识运算符 45

    4.1.1  赋值运算符 45

    4.1.2  基本算术运算符 45

    4.1.3  基本逻辑运算符 46

    4.1.4  比较运算符 47

    4.1.5  条件运算符 48

    4.2  Swift语言中两种特殊的运算符 48

    4.2.1  空合并运算符 48

    4.2.2  区间运算符 49

    4.3  循环结构 50

    4.3.1  for-in循环结构 50

    4.3.2  while与repeat-while条件循环结构 51

    4.4  条件选择与多分支选择结构 52

    4.4.1  if与if-else条件选择结构 52

    4.4.2  switch-case多分支选择结构 53

    4.5  Swift语言中的流程跳转语句 56

    4.6  练习及解析 59

    4.7  模拟面试 62

    第5章  函数与闭包技术 64

    5.1  函数的基本应用 65

    5.1.1  函数的创建与调用 65

    5.1.2  关于函数的参数名 66

    5.1.3  函数中参数的默认值、不定数量参数与inout类型参数 68

    5.2  函数的类型与函数嵌套 69

    5.3  理解闭包结构 71

    5.3.1  闭包的语法结构 71

    5.3.2  通过实现一个排序函数来深入理解闭包 72

    5.4  将闭包作为参数传递时的写法优化 74

    5.5  后置闭包、逃逸闭包与自动闭包 75

    5.6  练习及解析 77

    5.7  模拟面试 80

    第6章  高级运算符与枚举 81

    6.1  位运算符与溢出运算符 82

    6.1.1  位运算符的应用 82

    6.1.2  溢出运算符 83

    6.2  运算符的重载与自定义 84

    6.2.1  重载运算符 84

    6.2.2  自定义运算符 86

    6.3  运算符的优先级与结合性 87

    6.4  枚举类型的创建与应用 89

    6.5  枚举的原始值与相关值 91

    6.5.1  枚举的原始值 91

    6.5.2  枚举的相关值 92

    6.5.3  递归枚举 93

    6.6  练习及解析 96

    6.7  模拟面试 97

    第7章  类与结构体 99

    7.1  类与结构体的定义 99

    7.1.1  结构体 100

    7.1.2  类 101

    7.2  设计一个交通工具类 103

    7.3  开发中类与结构体的应用场景 105

    7.4  练习及解析 106

    7.5  模拟面试 108

    第8章  属性与方法 110

    8.1  存储属性与计算属性 111

    8.1.1  存储属性的意义及应用 111

    8.1.2  计算属性的意义及应用 113

    8.2  属性监听器 115

    8.3  属性包装器 116

    8.4  实例属性与类属性 119

    8.5  实例方法与类方法 119

    8.5.1  实例方法的意义与应用 120

    8.5.2  类方法 121

    8.6  下标方法 122

    8.7  练习及解析 124

    8.8  模拟面试 124

    第9章  构造方法与析构方法 126

    9.1  构造方法的设计与使用 126

    9.2  指定构造方法与便利构造方法 129

    9.3  构造方法的继承关系 131

    9.4  构造方法的安全性检查 132

    9.5  可失败构造方法与必要构造方法 134

    9.6  析构方法 135

    9.7  练习与解析 135

    9.8  模拟面试 137

    第10章  内存管理与异常处理 138

    10.1  自动引用计数 139

    10.2  循环引用及其解决方法 141

    10.3  闭包中的循环引用 146

    10.4  异常的抛出与传递 147

    10.5  异常的捕获与处理 148

    10.6  延时执行结构 149

    10.7  练习与解析 150

    10.8  模拟面试 151

    第11章  类型转换、泛型、扩展与协议 152

    11.1  类型检查与转换 153

    11.1.1  Swift语言中的类型检查 153

    11.1.2  Swift语言中的类型转换 154

    11.2  Any与AnyObject类型 155

    11.3  泛型 156

    11.3.1  初识泛型 156

    11.3.2  对泛型进行约束 158

    11.4  扩展与协议 160

    11.4.1  使用扩展对已经存在的数据类型进行补充 160

    11.4.2  协议的特点与应用 162

    11.4.3  协议与扩展的结合 165

    11.5  模拟面试 165

    第12章  Swift的高级特性 167

    12.1  内存安全检查(独占访问权限) 167

    12.2  关联类型可以添加where约束子句 170

    12.3  增强字符串和区间运算符的功能 170

    12.4  动态成员查找与动态方法调用 172

    12.5  泛型与协议功能的增强 173

    12.6  模拟面试 175

    第二部分  iOS开发基础

    第13章  UI控件与逻辑交互(1) 179

    13.1  iOS项目工程简介 180

    13.1.1  创建iOS项目工程 180

    13.1.2  运行个iOS程序 181

    13.2  标签控件——UILabel 184

    13.2.1  使用代码创建一个UILabel控件 184

    13.2.2  自定义UILable控件的展示效果 185

    13.2.3  定义更加丰富多彩的UILabel控件 186

    13.3  按钮控件——UIButton 188

    13.3.1  创建UIButton按钮控件 188

    13.3.2  为按钮添加触发事件 190

    13.3.3  为UIButton添加自定义图片 191

    13.4  图片显示控件——UIImageView 192

    13.4.1  图片类UIImage 193

    13.4.2  使用UIImageView进行图片的展示 193

    13.4.3  使用UIImageView播放动画 194

    13.5  文本输入框控件——UITextField 196

    13.5.1  创建文本输入框控件 196

    13.5.2  为UITextField设置左右视图 198

    13.5.3  UITextField控件的代理方法 199

    13.6  开关控件UISwitch 201

    13.7  分页控制器——UIPageControl 203

    13.8  分部控制器——UISegmentedControl 204

    13.8.1  创建分布控制器控件 204

    13.8.2  UISegmentedControl控件中按钮的增、删、改操作 205

    13.8.3  关于UISegmentedControl控件中按钮的尺寸问题 206

    13.9  模拟面试 207

    第14章  UI控件与逻辑交互(2) 208

    14.1  滑块控件UISlider 208

    14.1.1  UISlider控件的创建与设置 209

    14.1.2  UISlider控件的外观自定义与用户交互 209

    14.2  活动指示器控件UIActivityIndicatorView 211

    14.3  进度条控件UIProgressView 212

    14.4  步进器控件UIStepper 213

    14.5  选择器控件UIPickerView 215

    14.6  时间选择器控件UIDataPicker 219

    14.7  搜索栏控件UISearchBar 221

    14.7.1  创建UISearchBar控件 221

    14.7.2  UISearchBar控件的更多功能按钮 224

    14.7.3  UISearchBar控件的附件视图 225

    14.7.4  UISearchBarDelegate协议详解 226

    14.8  模拟面试 227

    第15章  视图控制器与高级UI视图控件 229

    15.1  应用程序的界面管理器UIViewController 230

    15.1.1  关于MVC设计模式 230

    15.1.2  UIViewController的生命周期 231

    15.1.3  UIViewController之间的切换与传值 232

    15.2  导航视图控制器UINavigationController 238

    15.2.1  理解导航结构 238

    15.2.2  搭建使用导航结构的项目 238

    15.2.3  对导航栏进行自定义设置 240

    15.2.4  使用导航进行视图控制器的切换管理 243

    15.3  标签栏控制器UITabBarController 244

    15.3.1  创建以UITabBarController为项目结构的工程 244

    15.3.2  对UITabBarController中的标签进行自定义配置 247

    15.3.3  标签栏上标签的溢出与排序功能 249

    15.4  警告视图控制器的应用 251

    15.4.1  认识UIAlertAction类 251

    15.4.2  使用UIAlertController创建警告框弹窗 252

    15.4.3  使用UIAlertController创建抽屉弹窗 254

    15.5  网页视图的应用 254

    15.5.1  网页视图UIWebView 255

    15.5.2  认识WebKit框架 258

    15.5.3  使用WKWebViewConfiguration对网页视图进行配置 259

    15.5.4  WKWebView中重要的属性和方法解析 261

    15.5.5  关于WKUIDelegate协议 262

    15.6  滚动视图UIScrollView的应用 263

    15.6.1  创建UIScrollView滚动视图 263

    15.6.2  UIScrollViewDelegate协议介绍 265

    15.6.3  UIScrollView的缩放操作 266

    15.7  列表视图UITableView的应用 267

    15.7.1  创建UITableView列表 267

    15.7.2  进行数据载体UITableViewCell的自定义 271

    15.7.3  UITableView的编辑模式 274

    15.7.4  为UITableView添加索引栏 277

    15.8  集合视图UICollectionView的应用 279

    15.8.1  使用UICollectionView实现简单的九宫格布局 279

    15.8.2  使用FlowLayout进行更加灵活的九宫格布局 281

    15.8.3  实现炫酷的瀑布流布局 283

    15.9  模拟面试 286

    第16章  动画与界面布局技术 288

    16.1  使用UIView层动画实现属性渐变效果 289

    16.1.1  UIView层的属性过渡动画 289

    16.1.2  UIView层的转场动画 292

    16.2  通过GIF文件播放动画 294

    16.2.1  使用原生的UIImageView来播放GIF动态图 294

    16.2.2  使用UIWebView进行GIF动态图的播放 296

    16.3  iOS开发中的CoreAnimation核心动画技术 297

    16.3.1  初识CoreAnimation框架 297

    16.3.2  锚点对视图几何属性的影响 297

    16.3.3  几种常用的CALayer子类介绍 298

    16.3.4  CoreAnimation框架中的属性动画介绍 302

    16.3.5  CoreAnimation框架中的转场动画与组合动画 303

    16.4  炫酷的粒子效果 305

    16.4.1  粒子发射引擎与粒子单元 305

    16.4.2  创建火焰粒子效果 307

    16.5  Autolayout自动布局技术 309

    16.5.1  使用Storyboard或者XIB文件进行界面的自动布局 309

    16.5.2  进行视图间的约束布局 312

    16.5.3  使用原生代码进行Autolayout自动布局 313

    16.5.4  使用第三方框架SnapKit进行Autolayout自动布局 316

    16.6  使用Autolayout创建自适应高度的UITextView输入框 318

    16.7  模拟面试 319

    第17章  网络与数据存储技术 321

    17.1  获取互联网上公开API所提供的数据 321

    17.1.1  注册天行API会员 322

    17.1.2  进行API接口测试 322

    17.1.3  关于JSON数据格式 323

    17.2  在iOS开发中进行网络数据请求 324

    17.2.1  关于HTTP网络请求协议 325

    17.2.2  使用URLSesstion进行网络请求 325

    17.3  使用UserDefaults进行简单数据的持久化存储 327

    17.3.1  使用UserDefaults与Plist文件进行常见类型数据的存储 328

    17.3.2  使用Plist文件进行数据持久化处理 329

    17.4  iOS开发中的归档技术应用 331

    17.4.1  对简单数据类型的归档操作 331

    17.4.2  对自定义数据类型进行归档操作 333

    17.5  数据库在iOS开发中的应用 334

    17.5.1  操作数据库常用语句 334

    17.5.2  可视化数据库管理工具MesaSQLite的简单应用 337

    17.5.3  libsqlite3数据库操作库简介 338

    17.5.4  在iOS工程中调用libsqlite3库操作数据库 340

    17.6  使用CoreData框架进行数据管理 344

    17.6.1  使用CoreData框架进行数据模型设计 344

    17.6.2  使用CoreData进行数据的添加与查询操作 346

    17.7  模拟面试 348

    第18章  SwiftUI技术 349

    18.1  视图的布局方式 349

    18.1.1  SwiftUI布局初体验 350

    18.1.2  使用图片组件 353

    18.1.3  在SwiftUI中使用UIKit中的组件 354

    18.2  SwiftUI中的列表视图 354

    18.2.1  编写行视图 354

    18.2.2  将数据关联到视图 355

    18.2.3  构建列表视图 356

    18.3  使用导航进行页面跳转 357

    18.4  处理用户交互 360

    18.4.1  SwiftUI中的按钮组件 360

    18.4.2  SwiftUI中的状态 361

    18.4.3  使用环境对象 362

    18.5  SwiftUI自定义绘制 363

    18.5.1  图形绘制 363

    18.5.2  设置绘制属性 365

    18.5.3  简单的图形变换与组合 367

    18.6  SwiftUI中的动画技术 368

    18.6.1  属性动画 368

    18.6.2  转场动画 369

    18.7  模拟面试 370

    第三部分  实战

    第19章  实战一:简易计算器 373

    19.1  计算器按键与操作面板的封装 373

    19.2  计算器显示板输入显示的逻辑开发 377

    19.3  计算器计算逻辑的设计 381

    19.4  为应用添加图标与启动页 384

    第20章  实战二:点滴生活记事本 386

    20.1  项目工程的搭建 386

    20.2  主页记事分组视图的开发 389

    20.3  添加分组功能的开发 392

    20.4  数据库引入与记事分组信息的持久化 394

    20.5  记事列表界面的搭建 396

    20.6  新建记事功能的开发 399

    20.7  更新记事与删除记事功能的开发 406

    第21章  实战三:《中国象棋》游戏 411

    21.1  项目工程的搭建与音频模块的开发 411

    21.2  《中国象棋》棋子控件的开发 415

    21.3  《中国象棋》棋盘控件的开发 418

    21.4  “兵”与“卒”行棋逻辑的开发 422

    21.5  “将”与“士”相关棋子行棋逻辑的开发 429

    21.6  “象”与“马”相关棋子行棋逻辑的开发 432

    21.7  “车”与“炮”棋子行棋逻辑的开发 437

    21.8  胜负判定逻辑开发与游戏功能完善 441

    21.9  拆分冗长的checkCanMove()方法 446

    附录A  CocoaPods库管理工具的应用 454

    附录B  关键概念检索表 458
查看详情
12
相关图书 / 更多
Swift 5从零到精通iOS开发训练营
Swift游戏开发经典实例(第三版)
Jonathon,Manning;Paris;Buttfield-Addison
Swift 5从零到精通iOS开发训练营
Swift人工智能实战:从基础理论到AI驱动的应用程序开发
[澳]马尔斯·吉尔达德(Mars Geldard)
Swift 5从零到精通iOS开发训练营
Swift人工智能实用指南(影印版)
Mars、Geldard 著
Swift 5从零到精通iOS开发训练营
SwiftUI自学成长笔记
刘铭 著
Swift 5从零到精通iOS开发训练营
Swift从入门到精通
张亮 著
Swift 5从零到精通iOS开发训练营
Sword Fighting: An Introduction to the Single-Handed Sword and Buckler
Schmidt, Herbert
Swift 5从零到精通iOS开发训练营
Swim:Why We Love the Water
Lynn Sherr
Swift 5从零到精通iOS开发训练营
Swift开发进阶
[美]大卫·马克 著;于鑫睿 译
Swift 5从零到精通iOS开发训练营
Swift开发技术标准教程/清华电脑学堂
谢书良 编
Swift 5从零到精通iOS开发训练营
Swift物联网程序设计
[美]艾哈迈德·巴克尔 著;王烈征 译
Swift 5从零到精通iOS开发训练营
Swift机器学习:面向iOS的人工智能实战
[乌]亚历山大·索诺夫琴科(Alexander Sosnovshchenko) 著
Swift 5从零到精通iOS开发训练营
Swimming Home
Deborah Levy