Swift语言实战晋级
Swift语言实战晋级
基本信息
作者: 老镇
丛书名: 爱上Swift
出版社:人民邮电出版社
ISBN:9787115378804
上架时间:2014-12-26
出版日期:2015 年1月
开本:16开
页码:448
版次:1-1
![]() |
内容简介
计算机书籍
《Swift语言实战晋级》主要通过大量实例来讲解Swift语言在软件开发中的实际应用方法。本书共9章,前2章快速讲述Swift的基础内容,即开发环境的搭建和Swift的基础语法。由于本书是晋级篇,故不再大篇幅讲解基础内容。第3~6章以UIKit控件为主要内容,通过拖拖看小游戏、豆瓣电台、任务提醒软件几个案例来充分巩固UIKit从基础到高级的知识体系,其中还会涉及网络数据读取、图片缓存等技术。第7~9章我们共同聊一聊SpriteKit的应用,以围住神经猫、跑酷熊猫两个实例来讲述2D游戏的开发技术。本书适合对Swift语言的基础内容有一定了解的读者提升实战技能。
目录
《Swift语言实战晋级》
第1章 Swift开发环境的搭建 1
1.1 下载Xcode 1
1.2 关于Mac操作系统 3
第2章 Swift语法速读 4
2.1 基础知识 4
2.1.1 变量与常量 4
2.1.2 注释 5
2.1.3 整数 5
2.1.4 浮点数 5
2.1.5 类型推测 5
2.1.6 数值型类型转换 5
2.1.7 布尔值 6
2.1.8 元组 6
2.1.9 可选类型 7
2.1.10 断言 8
2.2 基本运算符 9
2.2.1 赋值运算符 9
2.2.2 数值运算 9
2.2.3 自增(自减)运算 9
2.2.4 复合赋值 9
2.2.5 比较运算 10
2.2.6 三元运算符号 10
2.2.7 区间 10
2.2.8 逻辑运算 10
2.2.9 括号优先级 11
2.3 字符串和字符 11
2.3.1 字符串 11
2.3.2 字符 11
2.4 集合类型 13
2.4.1 数组 13
2.4.2 字典 14
2.5 流程控制 16
2.5.1 for循环 16
2.5.2 while循环 17
2.5.3 条件语句 18
2.5.4 控制转移语句 21
2.6 函数 21
2.7 闭包 24
2.8 枚举 24
2.9 类和结构体 25
2.10 属性 26
2.11 方法 29
2.12 下标 30
2.13 继承 32
2.14 构造过程 34
2.15 析构过程 36
2.16 自动引用计数 36
2.17 可选链 37
2.18 类型转换 38
2.19 类型嵌套 40
2.20 扩展 41
2.21 协议 43
2.22 泛型 45
2.23 访问控制 45
2.24 高级运算符 46
第3章 基础UIKit控件概览 49
3.1 创建工程及基本操作 49
3.1.1 创建Single View Application工程 49
3.1.2 基本操作 51
3.2 Button(按钮) 57
3.2.1 Button控件的基本属性 57
3.2.2 Button实例:各类按钮 59
3.3 Label 60
3.3.1 Label控件的基本属性 61
3.3.2 Label实例:各类文本标签 62
3.4 TextField 63
3.4.1 文本框控件的属性 63
3.4.2 实例:登录界面 64
3.4.3 实例:加法计算器 66
3.5 TextView 68
3.5.1 多行文本框的属性 68
3.5.2 实例:自定义选择内容后的菜单 69
3.6 Switch 70
3.6.1 文本框控件的属性 70
3.6.2 Switch控制TextView的可编辑属性 71
3.7 SegmentedControl 72
3.7.1 Segmented Control的属性 72
3.7.2 Segmented Control实例 73
3.8 ImageView 75
3.8.1 图像控件的基本属性 75
3.8.2 图像控件实例 75
3.9 ProgressView 78
3.9.1 进度条控件的属性 78
3.9.2 进度条控件的实例 78
3.10 ActivityIndicator View 79
3.10.1 环形进度条的基本属性 80
3.10.2 环形进度条实例 80
3.11 Slider 82
3.11.1 拖动条的基本属性 82
3.11.2 实例:拖动条控制图片透明度 82
3.12 AlertView 84
3.12.1 警告框的基本属性 84
3.12.2 实例:各式各样的警告框 84
3.13 ActionSheet 88
3.13.1 底部警告框的基本属性 88
3.13.2 底部警告框的实例 88
3.14 DatePicker 89
3.14.1 日期选择器的基本属性 89
3.14.2 日期选择器的实例 90
3.15 PickerView 91
3.15.1 选择器的一些属性 91
3.15.2 选择器的实例 91
3.16 Stepper 96
3.16.1 步进器器的一些属性 96
3.16.2 实例:属性加点器 96
3.17 WebView 98
3.17.1 网页视图控件的一些属性 98
3.17.2 实例:迷你网页浏览器 99
3.18 Toolbar与Bar Button Item 100
3.18.1 工具条的一些属性 100
3.18.2 Bar Button Item的一些属性 101
3.18.3 工具条的实例 102
3.19 TableView 103
3.19.1 TableView的一些属性 103
3.19.2 TableView的一个简单例子 104
3.20 SearchBar 109
3.20.1 搜索条的简单属性 109
3.20.2 搜索条的简单例子 110
3.20.3 Search Bar and Search Display Controller例子 115
3.21 NavigationBar 117
3.21.1 导航条的实例 117
3.22 NavigationController 119
3.22.1 导航控制器的属性 119
3.22.2 导航控制器实例 119
3.23 TabBar 125
3.23.1 TabBar的一些属性 125
3.23.2 TabBarItem的一些属性 126
3.23.3 TabBar实例 127
3.24 TabBar Controller 127
3.24.1 TabBar Controller实例 127
3.25 Page View Control 129
3.25.1 Page View Controller属性 129
3.25.2 Page View Controller实例 129
第4章 拖拖看小游戏 133
4.1 构建主界面 133
4.2 基本变量和更新函数 137
4.3 获取滑块的数值并与目标值进行比较 138
4.4 重头开始玩游戏 142
4.5 新增得分规则界面实现跳转 143
4.6 自定义界面 146
第5章 豆瓣电台 154
5.1 动手之前先做一些准备 154
5.2 实现界面 158
5.3 设置TableView 162
5.4 异步获取网络数据 168
5.5 缓存缩略图 176
5.6 改变封面图 178
5.7 播放歌曲 178
5.8 选择歌曲频道 180
5.9 Cell的显示动画 184
5.10 播放时间与播放进度 186
5.11 简单的手势控制播放与暂停 188
5.12 最后的细节 199
第6章 任务提醒软件 201
6.1 软件预览 201
6.2 创建项目 202
6.3 设计Cell 207
6.4 动态展示Cell 209
6.5 简述MVC 211
6.6 Model初体验 211
6.7 导航控制器 214
6.8 界面跳转 219
6.9 处理新界面的一些细节 231
6.10 编辑任务类别 236
6.11 本地保存数据 242
6.12 加载本地数据 245
6.13 重新规划界面 251
6.14 任务类型的Model 258
6.15 动态设置任务列表界面的Title 262
6.16 增加和编辑任务类型 263
6.17 任务类型的本地化保存 269
6.18 数据保护措施 280
6.19 重构Model 282
6.20 数据本地化NSUserDefaults 290
6.21 计算还有多少个需要提醒的任务 295
6.22 任务类型列表排序 297
6.23 添加任务类型的图标 298
6.24 对应用做一些美化 308
6.25 任务截止时间 310
6.26 添加日期选择器 316
6.27 本地消息通知 327
第7章 SpriteKit 简介 335
7.1 简单聊一聊 335
7.1.1 聊一聊SKNode 336
7.1.2 聊一聊SKScene 336
7.1.3 聊一聊纹理 336
7.1.4 聊一聊动作(Action) 336
7.1.5 聊一聊物理系统 336
7.2 如何学习SpriteKit 337
7.2.1 创建SpriteKit项目 337
7.2.2 创建第一个场景 339
7.2.3 往场景中添加内容 342
7.2.4 让文本动起来 343
7.2.5 场景的转换 343
7.2.6 使用SKSpriteNode 344
7.2.7 添加灯光 345
7.2.8 物理系统 346
第8章 游戏实战-围住神经猫 349
8.1 游戏预览 349
8.2 创建游戏项目 351
8.3 创建背景 353
8.4 创建圆点类 353
8.5 在场景中生成圆点 356
8.6 神经猫的类 364
8.7 寻路 366
8.8 留个小作业 379
第9章 游戏实战-跑酷熊猫 380
9.1 创建游戏工程以及导入素材 381
9.2 创建熊猫类 384
9.3 显示一个动态的熊猫 387
9.4 熊猫的跳和打滚 389
9.5 踩踏平台是怎么炼成的 391
9.6 创建平台类以及平台工厂类 393
9.7 平台的移动 397
9.8 产生源源不断的移动平台 397
9.9 移除场景之外的平台 400
9.10 视差滚动背景 401
9.11 欢迎进入物理世界 408
9.12 与平台的碰撞 411
9.13 二段跳的实现 412
9.14 熊猫的打滚动作 413
9.15 起跳特效 415
9.16 苹果以及苹果工厂类 420
9.17 计分板 425
9.18 下沉和升降的平台 427
9.19 加速度 433
9.20 重置游戏 434
9.21 声音类 436
9.22 修复小bug 446
后记 448
Swift语言实战晋级的更多相关文章
- swift语言实战晋级-第9章 游戏实战-跑酷熊猫-9-10 移除平台与视差滚动
9.9 移除场景之外的平台 用为平台是源源不断的产生的,如果不注意销毁,平台就将越积越多,虽然在游戏场景中看不到.几十个还看不出问题,那几万个呢?几百万个呢? 所以我们来看看怎么移除平台,那什么样的平 ...
- swift语言实战晋级-第9章 游戏实战-跑酷熊猫-7-8 移动平台的算法
在上个小节,我们完成了平台的产生.那么我们来实现一下让平台移动.平台的移动,我们只需要在平台工厂类中写好移动的方法,然后在GameScene类中统一控制就行了. 在GameScene类中,有个upda ...
- Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-5-6 踩踏平台是怎么炼成的
在游戏中,有很多分来飞去的平台,这个平台长短不一.如果每种长度都去创建一张图片那是比较繁琐的事情.实际上,我们只用到3张图.分别是平台的,平台的中间部分,平台的右边.关键是平台的中间部分,两张中间部分 ...
- Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-4 熊猫的跳和打滚
之前我们学会了跑的动作,现在我们可以利用同样的方法来实现了跳和打滚的动画. …… class Panda : SKSpriteNode { …… //跳的纹理集合 let jumpAtlas = SK ...
- Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-3 显示一个动态的熊猫
一个静态的熊猫明显不能满足我们的欲望,接下来我们就让熊猫跑起来.序列帧动画的原理就是不停的切换不同的图片.当我们将一张一张的切换Panda类的跑动文理后,熊猫就跑起来了.那么首先我们需要一个数组常量来 ...
- Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-2 创建熊猫类
当我们创建好项目文件后我们就可以开始一步一步的按照我们之前列入的清单来编写我们的游戏.现在就让我们来创建一个熊猫这个类Panda.swift.我们将采取分解的方式,一步一步的完成Panda.swift ...
- Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-1
学习目标 一.进一步学习Swift的游戏制作 二.掌握SKNode,SKSpriteNode的运用 三.了解SpriteKit的物理系统 四.掌握动作(SKAction)的运用 在这一章,我们要通过制 ...
- 我写了本破书-swift语言实战晋级
本书是一本介绍Swift实战的实用图书,旨在帮有一定编程基础的童鞋能够快速上手Swift. 本书的结构是先讲解了Swift语言的精要,没有基础的童鞋可以学习,有基础的童鞋可以当做复习. 接着讲解如何用 ...
- swift语言实战晋级-1 Swift开发环境的搭建
想要进行Swift的学习,必须要有个开发环境.简单的说就是装好了Xcode的Mac系统.那么接下来我们就简单了解一下这方面的内容. 1.1 下载Xcode Xcode是苹果公司出的编程工具,类似于微软 ...
随机推荐
- [python]自问自答:python -m参数?
python -m xxx.py 作用是:把xxx.py文件当做模块启动 但是我一直不明白当做模块启动到底有什么用.python xxx.py和python -m xxx.py有什么区别! 自问自答: ...
- SerializationUtility
public static T LoadFromXml<T>(string fileName) { FileStream fs = null; try { XmlSerializer se ...
- Visual Studio《加载此属性页时出错》的解决办法
打开aspx页面时不能切换到设计视图,vs 2008工具箱中无控件.打开vs 2008的工具>选项>HTML设计器时提示:加载此属性页时出错 有时还会有其它错误提示,比如打开一个Windo ...
- 【jQuery基础学习】12 jQuery学习感想
学习完<锋利的jQuery>,用时13天. 这期间,私底下又用了一点时间去W3C上把HTML和CSS重新过了一遍. 总的来说,收获还是蛮多的. 其实在本书里面真正重要的也就前几章,后面的都 ...
- MyBatis插入语句返回主键值
插入语句xml代码: <insert id="insertUser" parameterType="com.spring.mybatis.po.User" ...
- PHP遍历目录四种方法
学习SPL的时候,遇到了DirectoryIterator这个目录类,谢了一下遍历目录的方法.于是总结一下遍历目录的四种写法 如下: <?php /* * 方法一:利用SPL的目录类,这个很简单 ...
- Hazelcast介绍与使用
Hazelcast 是一个开源的可嵌入式数据网格(社区版免费,企业版收费).你可以把它看做是内存数据库,不过它与 Redis 等内存数据库又有些不同.项目地址:http://hazelcast.org ...
- [Xamarin.Android] Support Library Tips
[Xamarin.Android] Support Library Tips Support Library支持内容 Xamarin Support Library每个版本支持.那些组件,可以参考这份 ...
- Bootstrap-用ICheck插件给CheckBox换新装
直接来吧! 下面是添加上复选框以后的树形菜单效果: 这样看起来有种驴唇不对马嘴的感觉. 所以就要想办法给这些复选框添加1些样式,让全部界面看起来搭配1些. 通过查询得知,有个叫ICheck的第3方Bo ...
- Win10安装framework3.5
.NET少不了framewrok,其版本也比较多,默认情况下win7及上版本没有安装framework3.5,但有些软件又需要它,比如arcgis软件在安装时会检测是否存在3.5,如果没有,将不会正常 ...