如果你是一位有经验的Objective-C程序员,本书将会为你快速掌握Swift开发提供捷径;如果你已经掌握了Swift语言,本书能让你轻松获得工程级的项目开发经验!本书基于Swift语言,通过大量案例,详细讲解和演示了iOS中的各种功能和组件的用法,iOS开发中的各种技巧,以及完整的iOS应用开发方法,是专门为有经验的Objective-C程序员和只是掌握了Swift语言的新人量身打造的!
作者是资深的iOS程序员,深谙Objective-C和Swift两种技术,同时也经历了从Objective-C到Swift的转变,无论是技术上,还是经验上,作者的资历都能保证本书很好地完成它的使命。本书摒弃了枯燥的以功能介绍我导向的理论讲解,取而代之的是以大量有代表性的实战案例为切入点,让读者在啊实战中掌握Swift iOS应用开发。
封面图
目录
- 前言
- 第1章Swift简介1
- 1.1初识Swift2
- 1.2了解Playground4
- 1.2.1Playground的编辑器模式5
- 1.2.2时间轴简介6
- 1.2.3Quick Look所支持的类型10
- 1.2.4为什么要用Playground10
- 1.2.5Playground的一些限制10
- 1.3了解Xcode11
- 1.3.1使用Xcode创建iOS项目11
- 1.3.2Xcode的工具栏14
- 1.3.3导航区域15
- 1.3.4编辑区域17
- 1.3.5实用工具区域18
- 1.4 使用代码编辑器19
- 1.5iOS模拟器22
- 1.5.1iOS模拟器的特性22
- 1.5.2模拟器中iOS系统的基本设置24
- 1.5.3在模拟器中安装和卸载应用程序25
- 1.5.4iOS模拟器的限制25
- 第2章搭建计算器的界面26
- 2.1为移动平台开发应用26
- 2.2了解故事板29
- 2.2.1 创建用户界面工具Interface Builder30
- 2.2.2故事板30
- 2.3创建用户界面36
- 2.3.1设置界面的预览窗口36
- 2.3.2向视图添加界面元素38
- 2.3.3Interface Builder的布局工具39
- 2.4理解iOS 8的视图和窗口41
- 2.4.1视图概述41
- 2.4.2UIWindow类41
- 2.4.3视图的层次41
- 2.4.4视图的类型43
- 2.5与代码进行关联43
- 2.5.1要完成的效果44
- 2.5.2理解Outlet和Actions44
- 2.5.3使用快速检查器查看关联49
- 第3章设计模式和视图控制器51
- 3.1MVC设计模式简介51
- 3.2Calculator项目中的控制器54
- 3.2.1实现计算器运算符的相关代码54
- 3.2.2实现计算结果的相关代码56
- 3.3关于Application Delegate57
- 3.4了解视图控制器59
- 3.4.1视图控制器简介59
- 3.4.2不同类型的视图控制器61
- 第4章使用故事板组织和管理视图64
- 4.1创建购物应用程序64
- 4.1.1创建应用程序64
- 4.1.2创建Shopping的用户界面66
- 4.1.3创建数据模型70
- 4.1.4添加导航控制器71
- 4.1.5创建其他的视图控制器73
- 4.1.6在故事板中连接视图77
- 4.2调整数据模型79
- 4.2.1重建商品信息的数据模型79
- 4.2.2改变商品的购买状态81
- 4.2.3创建欲购买的商品83
- 第5章自定义表格视图86
- 5.1剖析表格视图87
- 5.2使用UITableViewController创建表格89
- 5.2.1创建超市的特价商品列表89
- 5.2.2创建特价商品的数据模型91
- 5.2.3通过data source传递数据93
- 5.2.4在IB中自定义单元格94
- 5.3表格视图中的选择与删除99
- 5.3.1删除表格中的单元格99
- 5.3.2单元格的选择和取消选择101
- 5.4委托101
- 5.4.1协议102
- 5.4.2协议方法103
- 5.5设置应用程序启动画面103
- 5.5.1直接设置启动画面104
- 5.5.2通过LaunchScreen.xib设置启动画面105
- 第6章自动布局107
- 6.1自动布局的概念107
- 6.1.1约束 109
- 6.1.2约束的关系109
- 6.1.3创建约束110
- 6.2在IB中创建约束110
- 6.2.1为视图元素创建约束111
- 6.2.2通过预览查看实时效果112
- 6.2.3通过工具栏添加约束113
- 6.2.4改变约束的值115
- 6.2.5拖曳出约束116
- 6.3竖屏下的自动布局117
- 6.3.1对于约束的考虑117
- 6.3.2添加浏览特价商品详情的功能118
- 6.3.3为竖屏界面添加相关约束120
- 6.3.4显示相关商品信息123
- 6.4横屏下的完美布局125
- 6.4.1Size Class125
- 6.4.2使用Size Class126
- 第7章使用集合视图130
- 7.1集合视图简介130
- 7.2使用集合视图显示数据 132
- 7.2.1在故事板中添加新的场景132
- 7.2.2为集合视图提供数据133
- 7.2.3创建自定义的集合视图单元格136
- 7.3自定义集合视图的布局138
- 7.4标签栏控制器139
- 7.4.1标签栏及其中的标签139
- 7.4.2在故事板中添加标签栏控制器140
- 7.4.3设置标签栏配置条目143
- 第8章获取远程数据145
- 8.1使用故事板创建用户界面145
- 8.2使用NSURLSession获取数据148
- 8.2.1生成URL连接150
- 8.2.2使用异步方式解决等待问题152
- 8.3构建自定义API控制器154
- 8.4添加影片搜索功能157
- 8.5设计IMDb的用户界面160
- 8.5.1为场景添加虚化背景效果161
- 8.5.2通过类的扩展增加String的功能163
- 8.5.3自定义label字体和图像视图165
- 第9章在程序中获取照片168
- 9.1框架简介169
- 9.2搭建项目的用户界面170
- 9.2.1搭建用户基本界面170
- 9.2.2导航栏控制器的Navigation Item173
- 9.2.3为Photos Gallery项目建立关联174
- 9.3完成Photos Gallery项目的逻辑代码177
- 9.3.1使用PHAssetCollection管理照片集177
- 9.3.2获取照片集中的照片181
- 9.3.3完善PhotoViewController控制器184
- 9.3.4完成PhotoViewController的交互186
- 9.3.5使用UIImagePickerController多方式获取照片189
- 第10章使用Facebook和Twitter整合社交192
- 10.1使用Accounts Framework192
- 10.1.1访问Twitter账号和账号的属性193
- 10.1.2访问Facebook账号和账号的属性199
- 10.2使用Social Framework发布内容203
- 10.2.1创建Stream控制器203
- 10.2.2使用Tweet Composer视图发布消息到Twitter207
- 10.2.3发送消息到Facebook209
- 10.3使用Social.framework进行API调用210
- 10.3.1使用SLRequest检索Twitter流210
- 10.3.2获取Facebook信息213
- 第11章调试你的应用程序217
- 11.1为什么调试很重要217
- 11.2编译时候的问题218
- 11.2.1错误219
- 11.2.2警告219
- 11.3运行时候的问题220
- 11.3.1断点220
- 11.3.2使用调试器221
- 11.4帮助文档222
- 11.5与帮助文档有关的技巧223
- 11.6通过帮助文档了解应用程序图标224
- 第12章文件和文件目录管理227
- 12.1iOS文件系统简介227
- 12.2在磁盘中搜索常用目录229
- 12.3读写文件的操作231
- 12.3.1将文件写入到目录中231
- 12.3.2读取文件内容233
- 12.4在磁盘上创建目录234
- 12.5遍历目录和文件235
- 12.5.1简单地遍历目录和文件235
- 12.5.2遍历并获取需要的信息236
- 12.6删除文件和目录239