网站颜色:

Swift 4从零到精通iOS开发Swift语言编程教程ios操作系统应用程序开发教程书程序员零基础入门自学ios移动软件开发程序设计书籍

  • 产品名称:Swift4从零到精通iOS开发
  • 书名:Swift4从零到精通iOS开发
  • 作者:张益珲
  • 定价:99.00元
  • 书名:Swift4从零到精通iOS开发
  • 开本:16开
  • 是否是套装:否
  • 出版社名称:清华大学出版社


  商品基本信息,请以下列介绍为准
图书名称: Swift 4从零到精通iOS开发
作者: 张益珲
定价: 99.00
ISBN号: 9787302527473
出版社: 清华大学出版社

  编辑推荐
本书由资深iOS开发工程师精心编撰,兼备核心语法、编程技巧、应用实践三部分:
*部分  从Xcode开发工具及Swift学习环境的搭建开始,重点介绍Swift的语言特性和应用场景、Swift 4的新增特性,并提供大量编程练习,帮助读者尽快掌握Swift语言的精髓。


第二部分  介绍Swift开发iOS应用的基本技能,包括独立UI控件的应用、视图界面逻辑的开发、动画与布局技术、网络与数据处理技术等,旨在带领读者掌握独立开发一款iOS应用程序的能力。

第三部分  为应用部分,这部分安排3个实战项目(简易计算器、生活记事本、中国象棋游戏),旨在全面锻炼读者的实际开发能力,使用Swift进行开发实践。

本书各章还安排了练习题与模拟面试题,以帮助读者巩固知识应对职场面试。

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


  内容简介
本书由资深iOS开发工程师精心编撰,兼备核心语法、编程技巧、应用实践3部分。第1部分从Xcode开发工具及Swift学习环境的搭建开始,重点介绍Swift的语言特性和应用场景、Swift 4的新增特性,并提供大量编程练习,帮助读者尽快掌握Swift语言的精髓。第2部分介绍Swift开发iOS应用的基本技能,包括独立UI控件的应用、视图界面逻辑的开发、动画与布局技术、网络与数据处理技术等,旨在带领读者掌握独立开发一款iOS 应用程序的能力。第3部分为应用部分,这部分安排3个实战项目(简易计算器、生活记事本、中国象棋游戏),旨在全面锻炼读者的实际开发能力,使用Swift进行开发实践。本书各章还安排了练习题与模拟面试题,以帮助读者巩固知识应对职场面试。 通过本书的学习,读者可以掌握使用Swift语言开发一款iOS软件从理论到实践的全部技术细节。本书既适合使用Swift开发iOS应用的新手、有Objective-C基础想学习Swift 的iOS开发人员阅读,也适合用作培训机构与大中专院校移动开发课程的教学参考书或面试指导书。


  目录
第1部分  Swift语言基础语法
第1章  学习环境的搭建    3
1.1  申请个人AppleID账号    3
1.2  下载与安装Xcode开发工具    4
1.3  Xcode开发工具简介    5
1.4  使用Playground进行Swift代码演练    9
第2章  量值与基本数据类型    10
2.1  变量与常量    11
2.1.1  变量与常量的定义和使用    11
2.1.2  变量和常量的命名规范    12
2.2  关于注释    13
2.3  初识基本数据类型    14
2.3.1  数学进制与计算机存储原理    14
2.3.2  整型数据    15
2.3.3  浮点型数据    16
2.3.4  布尔型数据    16
2.4  两种特殊的基本数据类型    16
2.4.1  组    17
2.4.2  可选值类型    18
2.5  为类型取别名    20
2.6  练习及解析    20
2.7  模拟面试    21
第3章  字符、字符串与集合类型    23
3.1  字符串类型    24
3.1.1  进行字符串的构造    24
3.1.2  字符串的组合    25
3.2  字符类型    25
3.2.1  字符类型简介    25
3.2.2  转义字符    26
3.3  字符串类型中的常用方法    27
3.4  集合类型    29
3.4.1  Array数组类型    30
3.4.2  Set集合类型    33
3.4.3  Dictionary字典类型    35
3.5  练习及解析    37
3.6  模拟面试    40
第4章  基本运算符与程序流程控制    42
4.1  初识运算符    43
4.1.1  赋值运算符    43
4.1.2  基本算术运算符    43
4.1.3  基本逻辑运算符    44
4.1.4  比较运算符    45
4.1.5  条件运算符    46
4.2  Swift语言中两种特殊的运算符    46
4.2.1  空合并运算符    46
4.2.2  区间运算符    47
4.3  循环结构    48
4.3.1  for-in循环结构    48
4.3.2  while与repeat-while条件循环结构    49
4.4  条件选择与多分支选择结构    50
4.4.1  if与if-else条件选择结构    50
4.4.2  switch-case多分支选择结构    51
4.5  Swift语言中的流程跳转语句    54
4.6  练习及解析    57
4.7  模拟面试    60
第5章  函数与闭包技术    62
5.1  函数的基本应用    63
5.1.1  函数的创建与调用    63
5.1.2  关于函数的参数名    64
5.1.3  函数中参数的默认值、不定数量参数与inout类型参数    66
5.2  函数的类型与函数嵌套    67
5.3  理解闭包结构    69
5.3.1  闭包的语法结构    69
5.3.2  通过实现一个排序函数来深入理解闭包    70
5.4  将闭包作为参数传递时的写法优化    72
5.5  后置闭包、逃逸闭包与自动闭包    73
5.6  练习及解析    74
5.7  模拟面试    78
第6章  高级运算符与枚举    79
6.1  位运算符与溢出运算符    80
6.1.1  位运算符的应用    80
6.1.2  溢出运算符    81
6.2  运算符的重载与自定义    82
6.2.1  重载运算符    82
6.2.2  自定义运算符    84
6.3  运算符的优先级与结合性    85
6.4  枚举类型的创建与应用    87
6.5  枚举的原始值与相关值    88
6.5.1  枚举的原始值    88
6.5.2  枚举的相关值    89
6.5.3  递归枚举    91
6.6  练习及解析    93
6.7 模拟面试    95
第7章  类与结构体    96
7.1  类与结构体的定义    96
7.1.1  结构体    97
7.1.2  类    98
7.2  设计一个交通工具类    100
7.3  开发中类与结构体的应用场景    102
7.4  练习及解析    103
7.5  模拟面试    105
第8章  属性与方法    107
8.1  存储属性与计算属性    108
8.1.1  存储属性的意义及应用    108
8.1.2  计算属性的意义及应用    110
8.2  属性    112
8.3  实例属性与类属性    113
8.4  实例方法与类方法    114
8.4.1  实例方法的意义与应用    114
8.4.2  类方法    116
8.5  下标方法    117
8.6  练习及解析    118
8.7  模拟面试    119
第9章  构造方法与析构方法    121
9.1  构造方法的设计与使用    121
9.2  指定构造方法与便利构造方法    124
9.3  构造方法的继承关系    126
9.4  构造方法的安全性检查    128
9.5  可失败构造方法与必要构造方法    129
9.6  析构方法    130
9.7  练习与解析    130
9.8  模拟面试    132
第10章  内存管理与异常处理    133
10.1  自动引用计数    134
10.2  循环引用及其解决方法    136
10.3  闭包中的循环引用    141
10.4  异常的抛出与传递    142
10.5  异常的捕获与处理    143
10.6  延时执行结构    144
10.7  练习与解析    145
10.8  模拟面试    146
第11章  类型转换、泛型、扩展与协议    147
11.1  类型检查与转换    148
11.1.1  Swift语言中的类型检查    148
11.1.2  Swift语言中的类型转换    149
11.2  Any与AnyObject类型    150
11.3  泛型    151
11.3.1  初识泛型    151
11.3.2  对泛型进行约束    153
11.4  扩展与协议    155
11.4.1  使用扩展对已经存在的数据类型进行补充    155
11.4.2  协议的特点与应用    157
11.4.3  协议与扩展的结合    160
11.5  模拟面试    160

第12章  Swift 4特性指南    162
12.1  内存安全检查(独占访问权限)    162
12.2  关联类型可以添加where约束子句    165
12.3  增强字符串和区间运算符的功能    165
12.4  泛型与协议功能的增强    166
12.5  模拟面试    168

第2部分  iOS开发基础
第13章  UI控件与逻辑交互(1)    171
13.1  iOS项目工程简介    172
13.1.1  创建iOS项目工程    172
13.1.2  运行第一个iOS程序    173
13.2  标签控件——UILabel    175
13.2.1  使用代码创建一个UILabel控件    175
13.2.2  自定义UILable控件的展示效果    176
13.2.3  定义更加丰富多彩的UILabel控件    178
13.3  按钮控件——UIButton    179
13.3.1  创建UIButton按钮控件    179
13.3.2  为按钮添加触发事件    181
13.3.3  为UIButton添加自定义图片    182
13.4  图片显示控件——UIImageView    184
13.4.1  图片类UIImage    184
13.4.2  使用UIImageView进行图片的展示    184
13.4.3  使用UIImageView播放动画    185
13.5  文本输入框控件——UITextField    186
13.5.1  创建文本输入框控件    187
13.5.2  为UITextField设置左右视图    188
13.5.3  UITextField控件的代理方法    189
13.6  开关控件UISwitch    192
13.7  分页控制器——UIPageControl    193
13.8  分部控制器——UISegmentedControl    194
13.8.1  创建分布控制器控件    194
13.8.2  UISegmentedControl控件中按钮的增删改操作    195
13.8.3  关于UISegmentedControl控件中按钮的尺寸问题    196
13.9  模拟面试    197

第14章  UI控件与逻辑交互(2)    198
14.1  滑块控件UISlider    199
14.1.1  UISlider控件的创建与设置    199
14.1.2  UISlider控件的外观自定义与用户交互    200
14.2  活动指示器UIActivityIndicatorView    201
14.3  进度条控件UIProgressView    202
14.4  步进器UIStepper    204
14.5  选择器控件UIPickerView    205
14.6  时间选择器UIDataPicker    209
14.7  搜索栏控件UISearchBar    211
14.7.1  创建UISearchBar控件    211
14.7.2  UISearchBar控件的更多功能按钮    214
14.7.3  UISearchBar控件的附件视图    215
14.7.4  UISearchBarDelegate协议详解    216
14.8  模拟面试    217
第15章  视图控制器与高级UI视图控件    219
15.1  应用程序的界面管理器UIViewController    220
15.1.1  关于MVC设计模式    220
15.1.2  UIViewController的周期    221
15.1.3  UIViewController之间的切换与传值    222
15.2  导航视图控制器UINavigationController    227
15.2.1  理解导航结构    228
15.2.2  搭建使用导航结构的项目    228
15.2.3  对导航栏进行自定义设置    230
15.2.4  使用导航进行视图控制器的切换管理    232
15.3  标签栏控制器UITabBarController    233
15.3.1  创建以UITabBarController为项目结构工程    234
15.3.2  对UITabBarController中的标签进行自定义配置    237
15.3.3  标签栏上标签的溢出与排序功能    239
15.4  警告视图控制器的应用    241
15.4.1  认识UIAlertAction类    241
15.4.2  使用UIAlertController创建警告框窗    242
15.4.3  使用UIAlertController创建抽屉窗    244
15.5  网页视图的应用    245
15.5.1  网页视图UIWebView    245
15.5.2  认识WebKit框架    248
15.5.3  使用WKWebViewConfiguration对网页视图进行配置    249
15.5.4  WKWebView中的重要属性和方法解析    251
15.5.5  关于WKUIDelegate协议    253
15.6  滚动视图UIScrollView的应用    253
15.6.1  创建UIScrollView滚动视图    254
15.6.2  UIScrollViewDelegate协议介绍    255
15.6.3  UIScrollView的缩放操作    256
15.7  列表视图UITableView的应用    257
15.7.1  创建UITableView列表    258
15.7.2  进行数据载体UITableViewCell的自定义    262
15.7.3  UITableView的编辑模式    265
15.7.4  为UITableView添加索引栏    268
15.8  集合视图UICollectionView的应用    269
15.8.1  使用UICollectionView实现简单的九宫格布局    269
15.8.2  使用FlowLayout进行更加灵活的九宫格布局    271
15.8.3  实现炫酷的瀑布流布局    273
15.9  分页控制器UIPageViewController的应用    276
15.9.1  创建一个UIPageViewController工程    276
15.9.2  关于UIPageViewControllerDelegate的更多应用    280
(咨询特价)  模拟面试    283
第16章  动画与界面布局技术    285
16.1  使用UIView层动画实现属性渐变效果    286
16.1.1  UIView层的属性过渡动画    286
16.1.2  UIView层的转场动画    289
16.2  通过GIF文件播放动画    291
16.2.1  使用原生的UIImageView来播放GIF动态图    291
16.2.2  使用UIWebView来进行GIF动态图的播放    293
16.3  iOS开发中的CoreAnimation核心动画技术    294
16.3.1  初识CoreAnimation框架    294
16.3.2  锚点对视图几何属性的影响    294
16.3.3  几种常用的CALayer子类介绍    295
16.3.4  CoreAnimation框架中的属性动画介绍    298
16.3.5  CoreAnimation框架中的转场动画与组合动画    300
16.4  炫酷的粒子效果    301
16.4.1  粒子发射引擎与粒子单    302
16.4.2  创建火焰粒子效果    304
16.5  Autolayout自动布局技术    306
16.5.1  使用storyboard或者xib文件进行界面的自动布局    306
16.5.2  进行视图间的约束布局    309
16.5.3  使用原生代码进行Autolayout自动布局    310
16.5.4  使用第三方框架SnapKit进行Autolayout自动布局    313
16.6  使用Autolayout创建自适应高度的 UITextView输入框    314
16.7  模拟面试    316
第17章  网络与数据存储技术    318
17.1  获取互联网上公开API所提供的数据    319
17.1.1  注册天行API会员    319
17.1.2  进行API接口测试    320
17.1.3  关于JSON数据格式    321
17.2  在iOS开发中进行网络数据请求    322
17.2.1  关于HTTP网络请求协议    322
17.2.2  使用URLSession进行网络请求    322
17.3  使用UserDefaults进行简单数据的持久化存储    324
17.3.1  使用UserDefaults与Plist文件进行常见类型数据的存储    325
17.3.2  使用Plist文件进行数据持久化处理    326
17.4  iOS开发中的归档技术应用    328
17.4.1  对简单数据类型的归档操作    328
17.4.2  对自定义数据类型进行归档操作    330
17.5  数据库在iOS开发中的应用    331
17.5.1  操作数据库常用语句    331
17.5.2  可视化数据库管理工具MesaSQLite的简单应用    334
17.5.3  libsqlite3库简介    336
17.5.4  在iOS工程中调用libsqlite3库操作数据库    338
17.6  使用CoreData框架进行数据管理    341
17.6.1  使用CoreData框架进行数据模型设计    341
17.6.2  使用CoreData进行数据的添加与查询操作    343
17.7  使用CoreData框架进行数据管理    345

第3部分  项目实战
第18章  实战一:简易计算器    349
18.1  计算器按键与操作面板的封装    349
18.2  计算器显示板输入显示的逻辑开发    352
18.3  计算器计算逻辑的设计    357
18.4  为应用添加图标与启动页    359

第19章  实战二:点滴生活记事本    361
19.1  项目工程的搭建    361
19.2  主页记事分组视图的开发    364
19.3  添加分组功能的开发    367
19.4  数据库引入与记事分组信息的持久化    369
19.5  记事列表界面的搭建    372
19.6  新建记事功能的开发    376
19.7  更新记事与删除记事功能的开发    381
第20章  实战三:《中国象棋》游戏    385
20.1  项目工程的搭建与音频模块的开发    385
20.2  《中国象棋》棋子控件的开发    389
20.3  《中国象棋》棋盘控件的开发    392
20.4  “兵”与“卒”行棋逻辑的开发    396
20.5  “将”与“士”相关棋子行棋逻辑的开发    403
20.6  “象”与“马”相关棋子行棋逻辑的开发    405
20.7  “车”与“炮”棋子行棋逻辑的开发    410
20.8  胜负判定逻辑开发与游戏功能完善    414
20.9  拆分冗长的checkCanMove()方法    419
附录A  CocoaPods库管理工具的应用    427
附录B  关键概念检索表    430


  作者简介
张益珲(网名:珲少),多年iOS开发经验,51CTO学院、CSDN学院签约讲师 ,麦子学院金牌讲师,参与开发iOS平台系列游戏:疯狂越狱1-2、应用物通配货软件、VIPExam考试库、证券财经软件等,曾就职于中国唯品会,主要从事移动端应用开发,对iOS开发、React Native跨平台开发及JavaScript前端开发都拥有丰富的经验。曾出版《iOS开发实蘸从零基础到App Store上架》《React Native全教程:移动端跨平台应用开发》等多本编程著作。

热门设计服务