零基础学Swift(图文版)
第1部分Xcode和Swift1
第1章Hello,world!3
1.1安装Xcode,你的代码编辑器4
1.2你的第一个App!5
1.2.1介绍故事板9
1.2.2从对象库加入用户界面元素10
1.2.3保存你的工作13
1.3在实际的设备上运行这个App14
1.4我们学到了什么16
第2章学习在playground中编程17
2.1常量和变量19
2.1.1何时该使用常量或变量21
2.1.2给常量和变量起名字22
2.2数据类型22
2.2.1声明数据类型23
2.2.2常用数据类型24
2.2.3类型推断25
2.2.4用类型转换来改变数据类型26
2.3运算符27
2.3.1计算的顺序30
2.3.2带括号的计算顺序31
2.3.3复合赋值运算符31
2.4我们学到了什么33
第3章做选择35
3.1布尔表达式36
3.1.1相等和不相等36
3.1.2大于和小于37
3.1.3复合布尔表达式38
3.2条件语句40
3.2.1if语句40
3.2.2switch语句43
3.3我们学到了什么45
第4章写重复执行的代码47
4.1打开调试区域47
4.2用for-in在一段范围内或一个容器内循环48
4.2.1说你好!48
4.2.2说早上好!49
4.3测试条件的while循环50
4.3.1猜数51
4.3.2缩短字符串52
4.4用哪个循环?53
4.5嵌套和作用域54
4.5.1嵌套的代码块54
4.5.2常量和变量的作用域55
4.6我们学到了什么57
第5章可选值能让程序更安全59
5.1什么是可选值?59
5.2创建可选值60
5.2.1可选值61
5.2.2特殊的运算符:65
5.3我们学到了什么65
第6章在字典和数组中保存成批数据67
6.1用数组有序保存数据67
6.1.1可写和不可写的数组68
6.1.2类型推断68
6.1.3访问数组中的元素69
6.1.4小心范围69
6.1.5向数组中添加元素70
6.1.6合并数组71
6.1.7从数组中删除元素71
6.1.8替换数组中的元素72
6.1.9使用数组的属性73
6.1.10循环遍历数组74
6.2字典是关键!75
6.2.1初始化字典75
6.2.2访问字典中的值76
6.2.3往字典里添加元素77
6.2.4从字典中删除元素77
6.2.5替换字典中的元素78
6.2.6使用字典的属性78
6.2.7遍历字典79
6.3我们学到了什么80
第7章函数是场聚会,邀请你来参加81
7.1输入和输出81
7.2编写自定义的函数82
7.3有参数的函数更强大83
7.3.1制作聚会邀请信84
7.3.2一次性邀请所有的朋友86
7.3.3通知客人87
7.4参数标签89
7.4.1添加自定义参数标签90
7.4.2删除参数标签91
7.5返回值91
7.5.1哪个盒子大?91
7.5.2条件返回92
7.6我们学到了什么94
第8章自定义类和结构95
8.1创建类96
8.1.1类的定义96
8.1.2在属性中保存数据97
8.1.3创建类的实例97
8.1.4访问类的属性98
8.1.5用初始化方法定制每一个蛋糕100
8.1.6添加一个生日祝贺方法103
8.1.7写一个助手方法104
8.2叫作self的特殊属性106
8.3类的继承107
8.3.1创建父类108
8.3.2创建子类108
8.3.3通过类型转换来检测数据类型110
8.3.4用向下类型转换使类型更明确113
8.4数值类型和引用类型114
8.5使用结构117
8.6我们学到了什么118
D二部分生日记录本119
第9章在故事板上创建按钮和屏幕121
9.1App的概述121
9.2创建一个新的Xcode项目122
9.3添加App的图标125
9.4显示朋友的生日126
9.4.1添加表格视图控制器127
9.4.2添加导航控制器129
9.4.3添加按钮130
9.5设置输入控件标签133
9.5.1添加朋友的名字和生日133
9.5.2用自动布局让App在所有设备上都有wan美外观138
9.5.3添加保存和放弃的按钮139
9.6我们学到了什么140
第10章用Birthday类来处理用户输入141
10.1Birthday类141
10.1.1创建一个新文件142
10.1.2编写Birthday类144
10.2做用户输入的程序144
10.2.1创建AddaBirthday的视图控制器145
10.2.2把代码和输入控件连接起来146
10.2.3把代码连接到故事板147
10.2.4设置zui大的出生日期149
10.3保存Birthday150
10.3.1挂上Save按钮150
10.3.2从文本输入框读取文本151
10.3.3从日期挑选器获得日期152
10.3.4创建一个Birthday对象153
10.4添加Cancel按钮153
10.5我们学到了什么154
第11章显示生日155
11.1创建Birthday列表155
11.1.1创建生日表格视图控制器156
11.1.2在表格视图上加单元格158
11.1.3设置Birthdays表格视图控制器161
11.1.4在表格视图中显示生日162
11.2合起来166
11.2.1代理166
11.2.2设置代理连接两个控制器171
11.3我们学到了什么172
第12章保存生日173
12.1在数据库中保存生日173
12.1.1Birthday数据项174
12.1.2Birthday属性175
12.1.3应用程序代理177
12.2代码整洁182
12.3给App多做些功能185
12.3.1按字母顺序排列生日186
12.3.2删除生日187
12.4我们学到了什么189
第13章发出生日通知191
13.1用户通知框架191
13.1.1注册本地通知192
13.1.2安排通知194
13.1.3删除通知199
13.2我们学到了什么200
第三部分校园滑板高手201
第14章设置舞台203
14.1哪里可以获得图片和声效?204
14.2用Xcode的SpriteKit做游戏204
14.3创建游戏项目205
14.4添加图片206
14.5场景:显示背景图片207
14.6要如何播放:屏幕方向211
14.7为不同的屏幕分辨率调整图像的大小213
14.8我们学到了什么216
第15章真的把“SchoolhouseSkateboarder”做成游戏217
15.1我们的英雄:滑板高手217
15.1.1创建Skater角色类218
15.1.2引入SpriteKit218
15.1.3给Skater类加入自定义的属性218
15.1.4在场景中创建Skater的实例219
15.1.5设置Skater220
15.1.6让Skater出现在屏幕上222
15.1.7理解SpriteKit的调试信息223
15.2希丁的砖块224
15.2.1创建人行道砖块224
15.2.2刷新人行道砖块226
15.2.3用砖块填满屏幕228
15.2.4留下跳的沟229
15.3游戏循环231
15.3.1追踪更新的时间231
15.3.2计算每次更新所用的时间231
15.3.3用所用的时间来调整滚动的速度232
15.3.4更新砖块233
15.4天天向上——让滑板角色跳跃234
15.4.1使用单击手势识别器234
15.4.2用简单的方法仿真重力236
15.4.3检查落地237
15.5我们学到了什么238
第16章使用SpriteKit的物理引擎239
16.1设置物理世界240
16.2物理体240
16.2.1给物理体以形状241
16.2.2设置物理体的属性242
16.2.3给滑板角色赋予物理体243
16.2.4给砖块添加物理体245
16.3接触与碰撞246
16.3.1处理接触和碰撞246
16.3.2响应接触249
16.4对物理体施加力250
16.5开始和结束游戏251
16.5.1开始游戏251
16.5.2结束游戏254
16.6我们学到了什么255
第17章调整难度、采摘钻石和记录分数257
17.1让游戏加速257
17.2增加多个高度的人行道平台258
17.2.1定义多个砖块高度259
17.2.2修改砖块派生的方式260
17.3增加要采摘的钻石262
17.3.1派生和记录钻石262
17.3.2决定何时产生新钻石264
17.3.3删除钻石264
17.3.4更新钻石266
17.3.5采摘钻石267
17.4实现计分和显示268
17.4.1创建标签268
17.4.2记录分数272
17.4.3更新标签273
17.4.4更新玩家分数274
17.4.5让钻石有价275
17.4.6记录zui高分数276
17.5调整游戏规则277
17.6我们学到了什么278
第18章游戏的状态、菜单、声音和特效279
18.1记录游戏状态279
18.2添加菜单系统281
18.2.1创建MenuLayer类282
18.2.2需要的时候显示菜单层286
18.2.3删除菜单层288
18.3发出声音289
18.3.1添加音频文件289
18.3.2在正确的时机播放声音290
18.4射出火花291
18.5我们学到了什么297
资源299
查找错误299
Apple文档300
Xcode快捷键301
iOS仿真器快捷键302
Xcode的版本302 格洛丽亚·温奎斯特(GloriaWinquist),2011年开始做iOS开发,具有丰富的开发经验。她目前是LumiraDx公司iOS开发工程师。
麦特·麦卡锡(MattMcCarthy),曾在TomatoInteractive公司研发了超过20个App。他目前是LumiraDx公司的软件工程师。
这是一本好玩又实用的Swift语言编程入门学习读物,本书语言轻松诙谐,配以彩色图片,即使是没有任何编程经验的初学者也能很快学会。本书以iPhone应用为基础框架对Swift语言的基本概念、实际应用进行了展开讲解,让读者逐步学习Swift语言的各种编程运用。
第1章Hello,world!3
1.1安装Xcode,你的代码编辑器4
1.2你的第一个App!5
1.2.1介绍故事板9
1.2.2从对象库加入用户界面元素10
1.2.3保存你的工作13
1.3在实际的设备上运行这个App14
1.4我们学到了什么16
第2章学习在playground中编程17
2.1常量和变量19
2.1.1何时该使用常量或变量21
2.1.2给常量和变量起名字22
2.2数据类型22
2.2.1声明数据类型23
2.2.2常用数据类型24
2.2.3类型推断25
2.2.4用类型转换来改变数据类型26
2.3运算符27
2.3.1计算的顺序30
2.3.2带括号的计算顺序31
2.3.3复合赋值运算符31
2.4我们学到了什么33
第3章做选择35
3.1布尔表达式36
3.1.1相等和不相等36
3.1.2大于和小于37
3.1.3复合布尔表达式38
3.2条件语句40
3.2.1if语句40
3.2.2switch语句43
3.3我们学到了什么45
第4章写重复执行的代码47
4.1打开调试区域47
4.2用for-in在一段范围内或一个容器内循环48
4.2.1说你好!48
4.2.2说早上好!49
4.3测试条件的while循环50
4.3.1猜数51
4.3.2缩短字符串52
4.4用哪个循环?53
4.5嵌套和作用域54
4.5.1嵌套的代码块54
4.5.2常量和变量的作用域55
4.6我们学到了什么57
第5章可选值能让程序更安全59
5.1什么是可选值?59
5.2创建可选值60
5.2.1可选值61
5.2.2特殊的运算符:65
5.3我们学到了什么65
第6章在字典和数组中保存成批数据67
6.1用数组有序保存数据67
6.1.1可写和不可写的数组68
6.1.2类型推断68
6.1.3访问数组中的元素69
6.1.4小心范围69
6.1.5向数组中添加元素70
6.1.6合并数组71
6.1.7从数组中删除元素71
6.1.8替换数组中的元素72
6.1.9使用数组的属性73
6.1.10循环遍历数组74
6.2字典是关键!75
6.2.1初始化字典75
6.2.2访问字典中的值76
6.2.3往字典里添加元素77
6.2.4从字典中删除元素77
6.2.5替换字典中的元素78
6.2.6使用字典的属性78
6.2.7遍历字典79
6.3我们学到了什么80
第7章函数是场聚会,邀请你来参加81
7.1输入和输出81
7.2编写自定义的函数82
7.3有参数的函数更强大83
7.3.1制作聚会邀请信84
7.3.2一次性邀请所有的朋友86
7.3.3通知客人87
7.4参数标签89
7.4.1添加自定义参数标签90
7.4.2删除参数标签91
7.5返回值91
7.5.1哪个盒子大?91
7.5.2条件返回92
7.6我们学到了什么94
第8章自定义类和结构95
8.1创建类96
8.1.1类的定义96
8.1.2在属性中保存数据97
8.1.3创建类的实例97
8.1.4访问类的属性98
8.1.5用初始化方法定制每一个蛋糕100
8.1.6添加一个生日祝贺方法103
8.1.7写一个助手方法104
8.2叫作self的特殊属性106
8.3类的继承107
8.3.1创建父类108
8.3.2创建子类108
8.3.3通过类型转换来检测数据类型110
8.3.4用向下类型转换使类型更明确113
8.4数值类型和引用类型114
8.5使用结构117
8.6我们学到了什么118
D二部分生日记录本119
第9章在故事板上创建按钮和屏幕121
9.1App的概述121
9.2创建一个新的Xcode项目122
9.3添加App的图标125
9.4显示朋友的生日126
9.4.1添加表格视图控制器127
9.4.2添加导航控制器129
9.4.3添加按钮130
9.5设置输入控件标签133
9.5.1添加朋友的名字和生日133
9.5.2用自动布局让App在所有设备上都有wan美外观138
9.5.3添加保存和放弃的按钮139
9.6我们学到了什么140
第10章用Birthday类来处理用户输入141
10.1Birthday类141
10.1.1创建一个新文件142
10.1.2编写Birthday类144
10.2做用户输入的程序144
10.2.1创建AddaBirthday的视图控制器145
10.2.2把代码和输入控件连接起来146
10.2.3把代码连接到故事板147
10.2.4设置zui大的出生日期149
10.3保存Birthday150
10.3.1挂上Save按钮150
10.3.2从文本输入框读取文本151
10.3.3从日期挑选器获得日期152
10.3.4创建一个Birthday对象153
10.4添加Cancel按钮153
10.5我们学到了什么154
第11章显示生日155
11.1创建Birthday列表155
11.1.1创建生日表格视图控制器156
11.1.2在表格视图上加单元格158
11.1.3设置Birthdays表格视图控制器161
11.1.4在表格视图中显示生日162
11.2合起来166
11.2.1代理166
11.2.2设置代理连接两个控制器171
11.3我们学到了什么172
第12章保存生日173
12.1在数据库中保存生日173
12.1.1Birthday数据项174
12.1.2Birthday属性175
12.1.3应用程序代理177
12.2代码整洁182
12.3给App多做些功能185
12.3.1按字母顺序排列生日186
12.3.2删除生日187
12.4我们学到了什么189
第13章发出生日通知191
13.1用户通知框架191
13.1.1注册本地通知192
13.1.2安排通知194
13.1.3删除通知199
13.2我们学到了什么200
第三部分校园滑板高手201
第14章设置舞台203
14.1哪里可以获得图片和声效?204
14.2用Xcode的SpriteKit做游戏204
14.3创建游戏项目205
14.4添加图片206
14.5场景:显示背景图片207
14.6要如何播放:屏幕方向211
14.7为不同的屏幕分辨率调整图像的大小213
14.8我们学到了什么216
第15章真的把“SchoolhouseSkateboarder”做成游戏217
15.1我们的英雄:滑板高手217
15.1.1创建Skater角色类218
15.1.2引入SpriteKit218
15.1.3给Skater类加入自定义的属性218
15.1.4在场景中创建Skater的实例219
15.1.5设置Skater220
15.1.6让Skater出现在屏幕上222
15.1.7理解SpriteKit的调试信息223
15.2希丁的砖块224
15.2.1创建人行道砖块224
15.2.2刷新人行道砖块226
15.2.3用砖块填满屏幕228
15.2.4留下跳的沟229
15.3游戏循环231
15.3.1追踪更新的时间231
15.3.2计算每次更新所用的时间231
15.3.3用所用的时间来调整滚动的速度232
15.3.4更新砖块233
15.4天天向上——让滑板角色跳跃234
15.4.1使用单击手势识别器234
15.4.2用简单的方法仿真重力236
15.4.3检查落地237
15.5我们学到了什么238
第16章使用SpriteKit的物理引擎239
16.1设置物理世界240
16.2物理体240
16.2.1给物理体以形状241
16.2.2设置物理体的属性242
16.2.3给滑板角色赋予物理体243
16.2.4给砖块添加物理体245
16.3接触与碰撞246
16.3.1处理接触和碰撞246
16.3.2响应接触249
16.4对物理体施加力250
16.5开始和结束游戏251
16.5.1开始游戏251
16.5.2结束游戏254
16.6我们学到了什么255
第17章调整难度、采摘钻石和记录分数257
17.1让游戏加速257
17.2增加多个高度的人行道平台258
17.2.1定义多个砖块高度259
17.2.2修改砖块派生的方式260
17.3增加要采摘的钻石262
17.3.1派生和记录钻石262
17.3.2决定何时产生新钻石264
17.3.3删除钻石264
17.3.4更新钻石266
17.3.5采摘钻石267
17.4实现计分和显示268
17.4.1创建标签268
17.4.2记录分数272
17.4.3更新标签273
17.4.4更新玩家分数274
17.4.5让钻石有价275
17.4.6记录zui高分数276
17.5调整游戏规则277
17.6我们学到了什么278
第18章游戏的状态、菜单、声音和特效279
18.1记录游戏状态279
18.2添加菜单系统281
18.2.1创建MenuLayer类282
18.2.2需要的时候显示菜单层286
18.2.3删除菜单层288
18.3发出声音289
18.3.1添加音频文件289
18.3.2在正确的时机播放声音290
18.4射出火花291
18.5我们学到了什么297
资源299
查找错误299
Apple文档300
Xcode快捷键301
iOS仿真器快捷键302
Xcode的版本302 格洛丽亚·温奎斯特(GloriaWinquist),2011年开始做iOS开发,具有丰富的开发经验。她目前是LumiraDx公司iOS开发工程师。
麦特·麦卡锡(MattMcCarthy),曾在TomatoInteractive公司研发了超过20个App。他目前是LumiraDx公司的软件工程师。
这是一本好玩又实用的Swift语言编程入门学习读物,本书语言轻松诙谐,配以彩色图片,即使是没有任何编程经验的初学者也能很快学会。本书以iPhone应用为基础框架对Swift语言的基本概念、实际应用进行了展开讲解,让读者逐步学习Swift语言的各种编程运用。
精选留言