新書推薦:
《
爱你,是我做过最好的事
》
售價:NT$
254.0
《
史铁生:听风八百遍,才知是人间(2)
》
售價:NT$
254.0
《
量子网络的构建与应用
》
售價:NT$
500.0
《
拍电影的热知识:126部影片里的创作技巧(全彩插图版)
》
售價:NT$
500.0
《
大唐名城:长安风华冠天下
》
售價:NT$
398.0
《
情绪传染(当代西方社会心理学名著译丛)
》
售價:NT$
403.0
《
中国年画 1950-1990 THE NEW CHINA: NEW YEAR PICTURE 英文版
》
售價:NT$
1100.0
《
革命与反革命:社会文化视野下的民国政治(近世中国丛书)
》
售價:NT$
435.0
|
編輯推薦: |
第一本基于Swift语言Xcode6正式版的iOS实战书。9天时间完成Swift官方文档翻译发起人梁杰权威审稿,蔡学镛、陈海蛟、陈军、丛磊、刘晨、苗顺平、臧成威鼎力推荐。
完全针对Swift正式版编写,在GitHub上组织爱好者用9天时间完成《The Swift Programming Language》官方文档翻译的项目发起人梁杰权威审稿
实用性:拒绝翻版官方教程,所有内容来自作者团队的实践总结,配以大量的实例进行解析。注重实战,学以致用!
互动性:配有优才网在线教学视频教程,并且佐以线上答疑入口。通过封面内页上的优才网VIP特权二维码,免费享受一个月的会员身份,观看所有公开课视频。
准确性:Xcode6正式版公布之后,反复对代码进行验证和修订。书中120个代码清单全部在线共享。
权威性:在优才网CEO伍星和Swiftist.org管理员梁杰的组织下,本书的写作小组得以组建。优才网CEO伍星、竞鹿CTO罗飞、优才网教学总监刘志华、软件工程师王浩力、iOS开发工程师刘蕾,集各家之所长,共同完成本书创作。
读过这本诚意之作后,相信你能够有实际
|
內容簡介: |
本书以Swift语言的基础知识和实战技巧为主要内容,佐以大量的实例和图片进行讲解。全书内容分为三大部分,共11章节。第一大部分讲述Swift语言的基础知识和语法,第二大部分讲解开发框架和库的相关内容,第三大部分集中讲解以2048游戏为例的实战演练,从入门到实战层层递进。本书注重实战,秉承着学以致用的原则,让读者真正看后能够实际操作。120个代码清单全部共享,配套教学视频在线收看,全方位的学习体验,让你成为掌握Swift语言的领头羊。
|
關於作者: |
审稿人梁杰是在GitHub上组织爱好者用9天时间完成翻译《The Swift Programming Language》官方文档的项目发起人,与美国几乎同步分享中文版,快速的协作方式令36氪、CSDN、中国新闻周刊等媒体对其进行采访和报道。
在优才网创始人伍星和Swiftist.org管理员梁杰的组织下,本书的写作小组得以组建。本书写作小组成员包括:优才网CEO伍星、竞鹿的 CTO 罗飞、优才网教学总监刘志华、软件工程师王浩力、iOS开发工程师刘蕾。
|
目錄:
|
第1章 欢迎来到Swift语言的世界 1
1.1 起源 2
1.2 什么是Swift语言 3
1.3 特点 3
1.3.1 高级 3
1.3.2 易上手 4
1.2.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 6.0 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.8 元组 37
2.1.9 类型别名 38
2.1.10 类型转换 38
2.1.11 断言(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.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
第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
第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.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
第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
后记 512
|
內容試閱:
|
“近一百多年来,总有一些公司很幸运地、有意识或者无意识地站在技术革命的浪尖之上。一旦处在了那个位置,即使不做任何事,也可以随着波浪顺顺当当地向前漂个十年甚至更长的时间。在这十几年间,它们代表着科技的浪潮,直到下一波浪潮的来临。”
“对于一个弄潮的年轻人来讲,最幸运的,莫过于赶上一波大潮”——摘自《浪潮之巅》吴军
大浪淘沙,从20世纪40年代第一代计算机诞生到今天的短短几十年时间,IT领域中出现了许多新的技术,优秀的、应需而生的、硬件的、软件的。最后,有些技术、有些思想留下并盛行了,而有的则被人遗忘并淘汰了。石器时代、青铜器时代、铁器时代、现代,在技术可以影响生产力的任何时代中,当某个领域中基础的和相关的理论积累到某个程度以后,总会产生一个“技术大爆炸”时期。大量基础理论产物会被运用于实际工程领域,通过工程实践又可以为理论研究提供数据,达成反哺构成良性循环。正如同几百年前蒸汽机的诞生拉响工业时代号角一样,我们现在有幸身处于另外一个这样的大时代。这是一个奇妙且充满未知挑战和希望的大技术时代。
程序员,这个兴起不到一个世纪,却成为如今影响最大的技术人群体,不断为IT领域贡献实践成果和理论验证。从朦昧时代到现今的科技文明时代,从来没有一个群体能够兴起得如此迅速且强大。我们在不断地探索,不断地学习。同时,这一波波浪潮也欢迎你的加入。
当你选择翻开本书并且读到这里,证明你已经对iOS开发或者Apple有了一定的认可度和兴趣。这是你一生中无数次选择中的一次,我们没法把它变成最重要或者最成功的一次,但是我们希望经年之后你能想起,当年有这么一本书让自己走上了Swift开发之路。此时此刻,不管你是拥有多年实践经验的技术大牛,还是初出茅庐的新手,都欢迎你加入Swift开发者群体,来和我们一起探索这个新的世界。在这次计算机程序语言的革命浪潮中做一个弄潮儿,在这个技术至上的领域中学会站立、超越,甚至引领。
开篇我们将为大家介绍一下iOS开发的背景知识以及Swift语言的起源和特性,回顾完历史之后就是着眼于当下,我们将带着大家搭建开发环境并且完成你的第一个Swift语言程序。同时,我们也会用适当的篇幅介绍一下开发环境的使用。请仔细阅读本章,我们将一步一步带你走入Swift语言的新世界。
|
|