Swift语言实战入门

出版日期:2014-10-23
ISBN:9787115369909
作者:伍星,罗飞,刘志华,王浩力,刘蕾
页数:512页

内容概要

本书写作小组成员包括:优才网CEO伍星、竞鹿CTO罗飞、优才网教学总监刘志华、软件工程师王浩力、iOS开发工程师刘蕾。
权威审核:Swiftist.org管理员-梁杰。

书籍目录

第1章  欢迎来到Swift语言的世界
1
1.1 起源
2
1.2 什么是Swift语言
3
1.3 特性
3
1.3.1 高级
3
1.3.2 易上手
4
1.3.3 兼容性
4
1.3.4 运行效率
4
1.3.5 运行时(Runtime)
5
1.3.6 可混编
5
1.3.7 开发工具
5
1.4 搭建Swift开发环境
5
1.4.1 Mac OS简介
6
1.4.2 Mac OS 下载安装
6
1.4.3 下载并安装Xcode
9
1.4.4 iOS开发者计划
11
1.5 熟悉Xcode及模拟器环境
11
1.5.1 升级和改变
11
1.5.2 第一个Swift语言程序
12
1.5.3 源代码文件基本组成
15
1.5.4 Xcode集成开发环境
16
1.5.5 iOS模拟器
17
1.5.6 体验Playground
18
1.6 Apple产品历史
20
1.7 小结
21
第2章 Swift基础语法
22
2.1 语法入门
22
2.1.1 变量与常量
23
2.1.2 整型
24
2.1.3 浮点型
25
2.1.4 布尔型
26
2.1.5 字符串和字符
27
2.1.6 可选(optional)
34
2.1.7 元组
37
2.1.8 类型别名
38
2.1.9 类型转换
38
2.1.10 断言(assertion)
40
2.2 运算符
42
2.2.1 基础运算符
42
2.2.2 高级运算符
50
2.2.3 自定义运算符
55
2.2.4 运算符优先级和结合性
55
2.3 复杂数据类型
57
2.3.1 数组
57
2.3.2 字典
59
2.3.3 结构体
59
2.3.4 枚举
61
2.4 控制流
62
2.4.1 条件结构
62
2.4.2 值绑定(Value Bindings)
66
2.4.3 循环结构
67
2.4.4 控制转向语句
71
2.5 函数
74
2.5.1 函数的定义和调用
74
2.5.2 函数的形参和返回值
75
2.6 闭包
78
2.6.1 什么是闭包
79
2.6.2 trailing闭包
80
2.6.3 捕获
81
2.7 表达式
81
2.7.1 基本表达式
81
2.7.2 前缀表达式和后缀表达式
82
2.7.3 表达式解析
84
2.8 小结
86
第3章 Swift面向对象编程基础
87
3.1 面向对象编程简介
87
3.1.1 面向对象编程的基本概念
90
3.1.2 面向对象编程的特点
92
3.1.3 为什么要使用面向对象编程
93
3.1.4 Swift语言中的面向对象概览
94
3.2 类、方法、属性介绍
94
3.2.1 编写第一个类
94
3.2.2 属性
96
3.3 方法
108
3.3.1 实例方法
108
3.3.2 类型方法
109
3.3.3 初始化方法和反初始化方法
111
3.3.4 下标脚本
118
3.4 枚举、类与结构体的对比
121
3.4.1 枚举与其他两者的关系
121
3.4.2 类与结构体的关系
122
3.5 小结
124
第4章 Swift语言的语法高级特性
125
4.1 高级面向对象特性
125
4.1.1 继承
125
4.1.2 多态
130
4.1.3 封装
134
4.2 面向对象的高级用法
136
4.2.1 类扩展
136
4.2.2 协议
140
4.2.3 类组合
144
4.3 可选链
147
4.3.1 可选概念回顾
147
4.3.2 可选链
149
4.3.3 多级可选链
150
4.4 泛型
150
4.5 小结
154
第5章 Swift语言操作Cocoa底层库
155
5.1 Cocoa开发体系
155
5.1.1 Core OS层
156
5.1.2 Core Service层
156
5.1.3 媒体层
157
5.1.4 UIKit层
158
5.2 Swift语言调用Objective-C
158
5.3 字符串
160
5.3.1 NSString与String互相转换
160
5.3.2 拆分字符串
161
5.3.3 查找字符串
162
5.4 数字
163
5.5 数组
165
5.5.1 NSArray与Array的互相转换
165
5.5.2 NSArray的初始化方法
166
5.5.3 NSArray的常用属性和方法
167
5.6 词典
170
5.6.1 Dictionary和NSDictionary互相转换
170
5.6.2 NSDictionay的初始化方法
171
5.6.3 NSDictionary常用的属性和方法
171
5.7 集
173
5.7.1 初始化
173
5.7.2 常用属性和方法
174
5.7.3 集合元素计数
176
5.8 数据存储NSData
177
5.8.1 创建NSData
177
5.8.2 访问数据
178
5.8.3 字节数据与Base64编码字符串相互转换
179
5.8.4 字节数据存储
180
5.8.5 NSMutableData
181
5.9 文件
182
5.9.1 应用的目录结构
183
5.9.2 访问文件
184
5.9.3 NSURL和NSURLComponents
185
5.9.4 NSFileManager
192
5.9.5 NSFileHandle
200
5.9.6 NSBundle
203
5.10 小结
207
第6章 Swift与Objective-C的互操作
208
6.1 Swift与Objective-C介绍
208
6.1.0 互操作简介
208
6.2 简单的互操作实践
208
6.2.1 Swift中调用Objective- C代码
209
6.2.2 Swift中调用C代码
213
6.2.3 Swift项目中的Objective- C代码调用Swift代码
214
6.2.4 Objective- C项目中调用Swift代码
219
6.3 Objective-C代码库的调用
220
6.3.1 理解框架代码相互调用过程
220
6.3.2 KKColorListPicker库的调用
221
6.3.3 SQLite3的引用
224
6.3.4 在Swift项目中引入GDataXML或DDXML
231
6.3.5 JSON解析及JSONKit的引用
235
6.4 Objective-C项目到Swift项目的迁移
238
6.5 小结
247
第7章 普通UI控件的开发:UIKit第一部分
248
7.1 标签(UILabel)
248
7.1.1 标签的创建
248
7.1.2 背景颜色和文字颜色的设置
248
7.1.3 对齐方式的设置
249
7.1.4 文字阴影设置
249
7.1.5 字体的设置
250
7.1.6 文字的省略方式
250
7.1.7 文字的自动调整
251
7.1.8 多行字符串
251
7.2 按钮(UIButton)
251
7.2.1 按钮的创建
251
7.2.2 按钮的文字、颜色和状态
252
7.2.3 按钮的图片
253
7.2.4 按钮的触摸事件
254
7.3 文本框(UITextField)
255
7.3.1 文本框的创建
255
7.3.2 设置文本样式
255
7.3.3 键盘设置
256
7.3.4 清除按钮
258
7.3.5 背景设置
259
7.4 多行文本控件(UITextView)
259
7.4.1 创建多行文本控件
259
7.4.2 设置文字
259
7.4.3 光标和选择范围
260
7.4.4 委托事件
261
7.5 开关按钮(UISwitch)
262
7.6 选择控件(UISegmentedControl)
263
7.6.1 选择控件的创建
263
7.6.2 选择控件基本设置
264
7.6.3 选择控件选项的插入和删除
264
7.6.4 选择控件获得选择的值
264
7.7 图像控件(UIImageView)
265
7.7.1 图片的显示
265
7.7.2 使用图像控件实现动画
266
7.8 进度条(UIProgressView)
267
7.9 滑块(UISlider)
268
7.9.1 滑块的创建
268
7.9.2 滑块的值通知机制
269
7.9.3 制定滑块样式
269
7.10 警告框(UIAlertView)与操作表(UIActionSheet)
270
7.10.1 警告框的使用
270
7.10.2 警告框的委托事件
272
7.10.3 操作表的使用
272
7.10.4 操作表的委托事件
273
7.11 选择框(UIPickerView)
274
7.11.1 建立选择框
274
7.11.2 调整选择框的尺寸
277
7.11.3 选择框选项内容
278
7.11.4 检测行的选择状态
278
7.12 微调器(UIStepper)
279
7.12.1 微调器的基本设置
279
7.12.2 微调器的外观设置
280
7.13 滚动视图(UIScrollView)
281
7.13.1 滚动视图的创建
281
7.13.2 放大缩小
282
7.13.3 页单位的滚动
283
7.14 加速度传感器(CoreMotion)
285
7.14.1 加速度传感器介绍
285
7.14.2 使用加速度传感器实现滚球效果
286
7.15 各种手势检测(UIGestureRecognizer以及具体识别器)
288
7.15.1 UIGestureRecognizer的基本用法
288
7.15.2 UITapGestureRecognizer 轻点手势
290
7.15.3 UIPinchGestureRecognizer 捏合手势
290
7.15.4 UIRotationGestureRecognizer旋转手势
291
7.15.5 UIPanGestureRecognizer拖动手势
291
7.16 小结
292
第8章 高级UI:UIKit第二部分
293
8.1 日期选择器(UIDatePicker)
293
8.1.1 控件介绍
293
8.1.2 UIDatePicker 时间日期显示实例
294
8.1.3 UIDatePicker倒计时显示实例
297
8.2 网页控件(UIWebView)
301
8.2.1 UIWebView控件详解
301
8.2.2 UIWebView基本实例
303
8.2.3 UIWebView 浏览器实例
306
8.3 工具条(UIToolbar)
309
8.3.1 工具条控件介绍
309
8.3.2 工具条控件操作实例
310
8.3.3 自制小型浏览器
311
8.4 表格(UITableView)
317
8.4.1 UITableView介绍
317
8.4.2 表格控件简单示例
319
8.4.3 表格控件属性详解
322
8.4.4 自定义单元格详解
330
8.4.5 表格的编辑
348
8.4.6 类微信聊天界面的设计
351
8.5 搜索条(UISearchBar)
359
8.5.1 控件介绍
359
8.5.2 搜索条简单示例
360
8.5.3 搜索条属性
364
8.5.4 利用UISearchDisplayController
364
8.6 导航条(UINavigationBar)与导航条控制器
(UINavigationController)
369
8.6.1 导航介绍
369
8.6.2 导航条示例
369
8.6.3 使用segue图形化设计导航
376
8.7 网格(UICollectionView)与网格控制器
(UICollectionViewController)
378
8.7.1 网格介绍
378
8.7.2 网格属性
378
8.7.3 流布局简单示例
379
8.7.4 自定义布局实现复杂界面
380
8.8 标签条(UITabBar)与标签页控制器(UITabBarController)
386
8.8.1 标签页介绍
386
8.8.2 使用storyboard设计标签页
386
8.8.3 代码实现标签页
388
8.9 页控件(UIPageControl)与页控制器(UIPageViewController)
390
8.9.1 页控件介绍
390
8.9.2 UIPageControl与UIScrollView结合使用
390
8.9.3 UIPageViewController实现翻页
393
8.10 故事板(UIStoryboard)
397
8.10.1 故事板介绍
397
8.10.2 故事板设计
398
8.10.3 故事板编程
399
8.11 分割视图控制器(UISplitViewController)
400
8.11.1 分割视图控制器介绍
400
8.11.2 分割视图控制器示例
401
8.11.3 开发兼容的iOS应用
403
8.12 UIActivity分享
404
8.12.1 UIActivity介绍
404
8.12.2 定制UIActivity分享
405
8.13 小结
407
第9章 2048游戏实战开发
408
9.1 编写游戏界面
408
9.1.1 入口界面
409
9.1.2 游戏主界面
411
9.1.3 游戏设置界面
418
9.2 建立游戏模型
422
9.2.1 游戏模型简介
422
9.2.2 游戏数据的存储
423
9.2.3 游戏数据的变更
429
9.3 游戏效果实现
435
9.3.1 闪现数字的动画
435
9.3.2 数字响应方向重排
439
9.3.3 合并数字实现与动画
448
9.4 游戏个性化设置
454
9.4.1 本地数据库的建立
454
9.4.2 个性化数据的保存
458
9.4.3 远程保存最高分
462
9.5 其他实战项目相关内容
468
9.5.1 项目属性介绍
468
9.5.2 应用图标和启动界面的设置
472
9.5.3 新手引导的制作
476
9.6 小结
479
第10章 程序模型与事件机制
480
10.1 MVC模式
480
10.1.1 MVC介绍
481
10.1.2 MVC在iOS开发中的具体使用
482
10.1.3 MVC在Swift 2048项目中体现
483
10.2 事件机制
484
10.2.1 iOS事件机制介绍
484
10.2.2 iOS开发事件的传递机制
487
10.3 简单设计模式
488
10.3.1 设计模式简介
489
10.3.2 常见设计模式
489
10.3.3 Swift 2048所用的模式
490
10.4 小结
491
第11章 真机测试及发布上架
492
11.1 真机测试
492
11.2 开发上架
495
11.2.1 生成发布到App Store的证书
495
11.2.2 到iTunes Connect网站提交应用说明
501
11.2.3 应用签名和打包
505
11.3 小结
511
后记
512

作者简介

《Swift语言实战入门》以Swift语言的基础知识和实战技巧为主要内容,佐以大量的实例和图片进行讲解。全书内容分为三大部分,共11章节。第一大部分讲述Swift语言的基础知识和语法,第二大部分讲解开发框架和库的相关内容,第三大部分集中讲解以2048游戏为例的实战演练,从入门到实战层层递进。本书注重实战,秉承着学以致用的原则,让读者真正看后能够实际操作。120个代码清单全部共享,配套教学视频在线收看,全方位的学习体验,让你成为掌握Swift语言的领头羊。


 Swift语言实战入门下载 更多精彩书评



发布书评

 
 


精彩书评 (总计2条)

  •     一本swift的入门好书,讲得比较全面,对于入门来说能对swift有通篇和较为全面的认识,对swift独有的特性也能有所了解,对于入手开发来说,也有step by step的指导,还是不错的。唯一不足之处就是,缺少对swift下mac应用的开发指导,应用实操部分基本讲的都是IOS开发。不过,也可以理解,MAC应用开发毕竟不是那么热
  •     代码部分排版混乱,部分地方不符合编程的规范(各种不统一)。笔误错别字较多,虽然不怀疑作者的技术实力,但是专业态度也是很重要的东西。P51 var oneBits: Uint8 = 1 //即二进制00000100 (这里应该是00000001)P53代码里面对1的加减都没对齐P56为什么下列表达式结果不是1? (结合上下文好像是5)P85半闭区间应为 ..<

精彩短评 (总计11条)

  •     为了rush一个ios app出来...
  •     有一些错误,最新编译不过的地方。但是看得出来作者比较用心,和其他的国产书不一样。
  •     略过一遍
  •     好书
  •     看着书实在忍不了来豆瓣吐槽评论,怀疑各大网站对这本书的评分都是刷出来的。作为写了7年程序的看都觉得讲的不清楚,错误多,真不知道刚上手学的人怎么学这本书,实在太烂了
  •     生编硬凑出来的东西,讲的太浅,如蜻蜓点水。
  •     入门好书
  •     基本不发评论,实在忍不住了,必须找个地方吐槽。这本书实在是太烂了,讲的乱七八糟,完全没有逻辑。为什么豆瓣评分最低分只能是1分?
  •     说真的,这本书的作者真不行,语言表达十分有问题,这无形中加重了学习的难度。对了,我还去看了他的教学视频,真的毫无结构感,想到哪儿就说到哪儿。对于初学者不推荐这本书。
  •     非常全 适合放手边当手册看 不过这类书还不如看官方的programming language
  •     入门好书?我表示超垃圾
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024