《Swift开发指南》

《Swift开发指南》

基本信息

作者: 关东升    赵志荣

丛书名: 图灵原创

出版社:人民邮电出版社

ISBN:9787115366245

上架时间:2014-8-5

出版日期:2014 年9月

开本:16开

页码:1

版次:1-1

所属分类:计算机 > 软件与程序设计 > 移动开发 > iPhone

更多关于》》》 《Swift开发指南》

编辑推荐

国内第一本Swift开发教程

  配有同步习题、同步视频教程,并全程展现即将上线的iPhone计算器项目

  分层架构设计解决Swift与Objective-C混合搭配问题

  畅销书《iOS开发指南》作者关东升最新著作

内容简介

书籍

计算机书籍

《swift开发指南》通过大量案例全面讲解了swift 语言开发,包含常量与变量、运算符和表达式、数据类型、数据类型转换、字符串类型、语言的元组类型、可选类型、数组、字典、控制语句、函数、闭包、类与结构体、属性、方法、下标、继承、构造器、析构器、扩展、协议、内存管理等。每章均配有同步练习,由浅入深,循序渐进,最后通过iphone 计算器应用的开发带领读者进行了开发实战。

《swift开发指南》适合现有ios 开发者、其他移动平台开发者以及计算机专业大学生阅读,也非常适合作为培训教材。

媒体评论

  本书配套视频教程《苹果Swift语言视频教程闪电入门》在51CTO学院全国首发,是国内首套完整的Swift视频课程,自上线1个月以来,有近10万名学员学习,受到了51CTO社区广大开发者和爱好者的好评和认可。《Swift开发指南》全面介绍了苹果Swift语言开发技巧,并配有大量习题,非常适合广大学员迅速掌握和巩固Swift开发中的知识点。相信本书一定值得广大学员阅读。

  ——51CTO学院高级运营经理曹亚莉

  《Swift开发指南》一书结构清晰,内容丰富,通过大量的案例代码和丰富的图示全面讲解Swift语言开发。由浅入深,循序渐进,最后通过项目实践,帮助开发者系统理解书中内容。本书不仅适合iOS开发者,也适合其他领域的移动开发者系统学习Swift语言,还可作为培训教材,带领更多的学生、开发人员开启Swift学习之旅。

  ——CocoaChina社区

  《Swift开发指南》结合大量案例、习题对Swift语言进行了系统全面的讲解。深入浅出,通俗易懂,通过最后一个计算器实战项目,全面讲解了Swift和Objective-C之间的互相调用与过渡,便于开发者学习Swift语言。同时,本书配套视频课程是国内首套完整的Swift视频课程,得到了广大开发者的认可。在Swift语言推出之际,作者第一时间推出国内首套在线视频课程,并同时撰写图书,可谓急大家之所急。非常值得推荐的一本Swift图书。

  ——智捷iOS课堂

目录

《swift开发指南》

第一部分 基础篇

第1章 准备开始  2

1.1 本书学习路线图  2

1.2 本书中的约定  3

1.2.1 示例代码约定  4

1.2.2 图示的约定  4

1.3 xcode开发工具  6

1.3.1 xcode安装和卸载  7

1.3.2 xcode界面  10

1.4 如何使用api帮助  11

1.5 本章小结  14

1.6 同步练习  14

第2章 第一个swift程序  15

2.1 使用playground编写  15

2.1.1 编程利器playground  15

2.1.2 编写helloworld程序  16

2.2 代码解释  19

2.3 本章小结  20

2.4 同步练习  20

第3章 swift基本语法  21

3.1 标识符和关键字  21

3.1.1 标识符  21

3.1.2 关键字  22

3.2 常量和变量  22

3.2.1 常量  22

3.2.2 变量  23

3.2.3 命名规范  23

3.3 注释  24

3.4 表达式  25

3.5 本章小结  26

3.6 同步练习  26

第4章 基本运算符  28

4.1 算术运算符  28

4.1.1 一元运算符  28

4.1.2 二元运算符  29

4.1.3 算术赋值运算符  30

4.2 关系运算符  31

4.3 逻辑运算符  33

4.4 位运算符  34

4.5 其他运算符  36

4.6 本章小结  37

4.7 同步练习  37

第5章 基本数据类型  39

5.1 swift数据类型  39

5.2 整型  39

5.3 浮点型  41

5.4 数字表示方式  41

5.4.1 进制数字表示  41

5.4.2 指数表示  42

5.4.3 其他表示  42

5.5 数字类型之间的转换  42

5.5.1 整型之间的转换  42

5.5.2 整型与浮点型之间的转换  43

5.6 布尔型  44

5.7 元组类型  44

5.8 本章小结  45

5.9 同步练习  45

第6章 字符和字符串  47

6.1 字符  47

6.1.1 unicode编码  47

6.1.2 转义符  48

6.2 创建字符串  49

6.3 字符串可变性  49

6.4 字符串比较  50

6.4.1 大小和相等比较  50

6.4.2 前缀和后缀比较  51

6.5 本章小结  52

6.6 同步练习  52

第7章 控制语句  54

7.1 分支语句  54

7.1.1 条件语句if  54

7.1.2 多分支语句switch  56

7.1.3 在switch中使用范围匹配  58

7.1.4 在switch中比较元组类型  59

7.2 循环语句  61

7.2.1 while语句  61

7.2.2 do while语句  63

7.2.3 for语句  63

7.2.4 for in语句  64

7.3 跳转语句  65

7.3.1 break语句  66

7.3.2 continue语句  67

7.3.3 fallthrough语句  69

7.4 本章小结  71

7.5 同步练习  71

第8章 集合  75

8.1 数组集合  75

8.1.1 数组声明与初始化  76

8.1.2 数组的修改  77

8.1.3 数组遍历  78

8.2 字典集合  78

8.2.1 字典声明与初始化  79

8.2.2 字典的修改  80

8.2.3 字典遍历  81

8.3 集合的复制  82

8.3.1 字典复制  82

8.3.2 数组复制  84

8.4 本章小结  86

8.5 同步练习  86

第9章 函数  88

9.1 使用函数  88

9.2 传递参数  89

9.2.1 使用外部参数名  89

9.2.2 参数默认值  90

9.2.3 可变参数  90

9.2.4 参数的传递引用  91

9.3 函数返回值  92

9.3.1 无返回值函数  92

9.3.2 多返回值函数  93

9.4 函数类型  93

9.4.1 作为函数返回类型使用  94

9.4.2 作为参数类型使用  95

9.5 函数重载  96

9.6 嵌套函数  97

9.7 泛型和泛型函数  98

9.7.1 一个问题的思考  99

9.7.2 泛型函数  99

9.8 本章小结  100

9.9 同步练习  100

第10章 闭包  104

10.1 回顾嵌套函数  104

10.2 闭包的概念  105

10.3 使用闭包表达式  106

10.3.1 类型推断简化  106

10.3.2 隐藏return关键字  107

10.3.3 缩写参数名称  107

10.3.4 使用闭包返回值  108

10.4 使用尾随闭包  108

10.5 捕获上下文中的变量和常量  109

10.6 本章小结  110

10.7 同步练习  110

第二部分 面向对象篇

第11章 swift语言中的面向对象特性  114

11.1 面向对象概念和基本特征  114

11.2 swift中的面向对象类型  114

11.3 枚举  115

11.3.1 成员值  115

11.3.2 原始值  117

11.3.3 相关值  118

11.4 结构体与类  120

11.4.1 类和结构体定义  120

11.4.2 再谈值类型和引用类型  121

11.4.3 引用类型的比较  123

11.5 类型嵌套  124

11.6 可选类型与可选链  125

11.6.1 可选类型  125

11.6.2 可选链  126

11.7 本章小结  129

11.8 同步练习  130

第12章 属性与下标  134

12.1 存储属性  134

12.1.1 存储属性概念  134

12.1.2 延迟存储属性  135

12.1.3 属性观察者  136

12.2 计算属性  136

12.2.1 计算属性概念  136

12.2.2 只读计算属性  138

12.2.3 结构体和枚举中的计算

属性  139

12.3 属性观察者  139

12.4 静态属性  141

12.4.1 结构体静态属性  143

12.4.2 枚举静态属性  144

12.4.3 类静态属性  145

12.5 使用下标  145

12.5.1 下标概念  146

12.5.2 示例:二维数组  146

12.6 本章小结  148

12.7 同步练习  148

第13章 方法  150

13.1 实例方法  150

13.1.1 使用规范的命名  151

13.1.2 结构体和枚举方法变异  154

13.2 静态方法  155

13.2.1 结构体中静态方法  155

13.2.2 枚举中静态方法  156

13.2.3 类中静态方法  156

13.3 本章小结  157

13.4 同步练习  157

第14章 构造与析构  158

14.1 构造器  158

14.1.1 默认构造器  158

14.1.2 构造器与存储属性初始化  159

14.1.3 使用外部参数名  160

14.2 构造器重载  162

14.2.1 构造器重载概念  162

14.2.2 值类型构造器代理  163

14.2.3 引用类型构造器横向代理  164

14.3 析构器  165

14.4 本章小结  166

14.5 同步练习  166

第15章 继承  169

15.1 从一个示例开始  169

15.2 构造器继承  170

15.2.1 构造器调用规则  170

15.2.2 构造过程安全检查  172

15.2.3 构造器自动继承  175

15.3 重写  177

15.3.1 属性重写  177

15.3.2 方法重写  179

15.3.3 下标重写  180

15.3.4 使用final关键字  182

15.4 类型检查与转换  183

15.4.1 使用is操作符  185

15.4.2 使用as操作符  185

15.4.3 使用any和anyobject类型  187

15.5 本章小结  187

15.6 同步练习  188

第16章 扩展和协议  190

16.1 扩展  190

16.1.1 声明扩展  190

16.1.2 扩展计算属性  191

16.1.3 扩展方法  192

16.1.4 扩展构造器  193

16.1.5 扩展下标  195

16.2 协议  196

16.2.1 声明和遵守协议  197

16.2.2 协议方法  197

16.2.3 协议属性  200

16.2.4 把协议作为类型使用  202

16.2.5 协议的继承  204

16.2.6 协议的合成  205

16.3 扩展中声明协议  207

16.4 本章小结  207

16.5 同步练习  208

第17章 swift内存管理  210

17.1 swift内存管理概述  210

17.1.1 引用计数  210

17.1.2 示例:swift自动引用计数  211

17.2 强引用循环  213

17.3 打破强引用循环  216

17.3.1 弱引用  216

17.3.2 无主引用  218

17.4 闭包中的强引用循环  220

17.4.1 一个闭包中的强引用循环示例  221

17.4.2 解决闭包强引用循环  221

17.5 本章小结  223

17.6 同步练习  223

第三部分 过渡篇

第18章 从objective-c到swift  226

18.1 选择语言  226

18.2 swift调用objective-c  226

18.2.1 创建swift工程  227

18.2.2 在swift工程中添加

objective-c类  229

18.2.3 调用代码  230

18.3 objective-c调用swift  232

18.3.1 创建objective-c工程  233

18.3.2 在objective-c工程中添加swift类  234

18.3.3 调用代码  235

18.4 本章小结  236

18.5 同步练习  237

第19章 使用foundation框架  238

19.1 数字类nsnumber  238

19.1.1 获得nsnumber实例  238

19.1.2 nsnumber对象的比较  241

19.2 字符串类  242

19.2.1 nsstring类  242

19.2.2 nsmutablestring类  245

19.2.3 nsstring与string之间的关系  246

19.3 数组类  247

19.3.1 nsarray类  247

19.3.2 nsmutablearray类  248

19.3.3 nsarray与array之间的关系  249

19.4 字典类  250

19.4.1 nsdictionary类  250

19.4.2 nsmutabledictionary类  251

19.4.3 nsdictionary与dictionary之间的关系  252

19.5 本章小结  253

19.6 同步练习  253

第四部分 实战篇

第20章 ios开发基础  256

20.1 ios介绍  256

20.2 第一个ios应用helloworld  257

20.2.1 创建工程  257

20.2.2 xcode中的ios工程模板  265

20.2.3 程序剖析  266

20.3 ios api简介  268

20.4 本章小结  268

20.5 同步练习  268

第21章 项目实战——基于分层架构的多版本iphone计算器  270

21.1 应用分析与设计  270

21.1.1 应用概述  270

21.1.2 需求分析  270

21.1.3 原型设计  271

21.1.4 分层架构设计  272

21.1.5 应用设计  273

21.2 创建工程  274

21.3 业务逻辑层开发  276

21.3.1 创建calclogic.swift文件  276

21.3.2 枚举类型operator  277

21.3.3 calclogic类中属性  278

21.3.4 calclogic类中构造器和析构器  278

21.3.5 calclogic类中更新主标签方法  279

21.3.6 calclogic类中判断是否包含小数点方法  280

21.3.7 calclogic类中计算方法  280

21.3.8 calclogic类中清除方法  281

21.4 表示层开发  282

21.4.1 添加图片资源  282

21.4.2 改变设计界面大小  284

21.4.3 添加计算器背景  284

21.4.4 在设计界面中添加主标签  286

21.4.5 在设计界面中添加按钮  288

21.4.6 控件的输出口和动作  292

21.4.7 视图控制器  296

21.5 objective-c版本的计算器  297

21.5.1 xcode工程文件结构比较  297

21.5.2 表示层比较  298

21.5.3 业务逻辑层比较  299

21.6 swift调用objective-c实现的计算器  302

21.6.1 在swift工程中添加objective-c类  303

21.6.2 调用代码  305

21.7 objective-c调用swift实现的计算器  306

21.7.1 在objective-c工程中添加swift类  306

21.7.2 调用代码  307

21.8 本章小结  310

21.9 同步练习  310

本图书信息来源:互动出版网

《Swift开发指南》

时间: 2024-10-07 05:25:07

《Swift开发指南》的相关文章

CI框架源码阅读笔记3 全局函数Common.php

从本篇开始,将深入CI框架的内部,一步步去探索这个框架的实现.结构和设计. Common.php文件定义了一系列的全局函数(一般来说,全局函数具有最高的加载优先权,因此大多数的框架中BootStrap引导文件都会最先引入全局函数,以便于之后的处理工作). 打开Common.php中,第一行代码就非常诡异: if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 上一篇(CI框架源码阅读笔记2 一切的入口 index

IOS测试框架之:athrun的InstrumentDriver源码阅读笔记

athrun的InstrumentDriver源码阅读笔记 作者:唯一 athrun是淘宝的开源测试项目,InstrumentDriver是ios端的实现,之前在公司项目中用过这个框架,没有深入了解,现在回来记录下. 官方介绍:http://code.taobao.org/p/athrun/wiki/instrumentDriver/ 优点:这个框架是对UIAutomation的java实现,在代码提示.用例维护方面比UIAutomation强多了,借junit4的光,我们可以通过junit4的

Yii源码阅读笔记 - 日志组件

?使用 Yii框架为开发者提供两个静态方法进行日志记录: Yii::log($message, $level, $category);Yii::trace($message, $category); 两者的区别在于后者依赖于应用开启调试模式,即定义常量YII_DEBUG: defined('YII_DEBUG') or define('YII_DEBUG', true); Yii::log方法的调用需要指定message的level和category.category是格式为“xxx.yyy.z

源码阅读笔记 - 1 MSVC2015中的std::sort

大约寒假开始的时候我就已经把std::sort的源码阅读完毕并理解其中的做法了,到了寒假结尾,姑且把它写出来 这是我的第一篇源码阅读笔记,以后会发更多的,包括算法和库实现,源码会按照我自己的代码风格格式化,去掉或者展开用于条件编译或者debug检查的宏,依重要程度重新排序函数,但是不会改变命名方式(虽然MSVC的STL命名实在是我不能接受的那种),对于代码块的解释会在代码块前(上面)用注释标明. template<class _RanIt, class _Diff, class _Pr> in

CI框架源码阅读笔记5 基准测试 BenchMark.php

上一篇博客(CI框架源码阅读笔记4 引导文件CodeIgniter.php)中,我们已经看到:CI中核心流程的核心功能都是由不同的组件来完成的.这些组件类似于一个一个单独的模块,不同的模块完成不同的功能,各模块之间可以相互调用,共同构成了CI的核心骨架. 从本篇开始,将进一步去分析各组件的实现细节,深入CI核心的黑盒内部(研究之后,其实就应该是白盒了,仅仅对于应用来说,它应该算是黑盒),从而更好的去认识.把握这个框架. 按照惯例,在开始之前,我们贴上CI中不完全的核心组件图: 由于BenchMa

CI框架源码阅读笔记2 一切的入口 index.php

上一节(CI框架源码阅读笔记1 - 环境准备.基本术语和框架流程)中,我们提到了CI框架的基本流程,这里这次贴出流程图,以备参考: 作为CI框架的入口文件,源码阅读,自然由此开始.在源码阅读的过程中,我们并不会逐行进行解释,而只解释核心的功能和实现. 1.       设置应用程序环境 define('ENVIRONMENT', 'development'); 这里的development可以是任何你喜欢的环境名称(比如dev,再如test),相对应的,你要在下面的switch case代码块中

Apache Storm源码阅读笔记

欢迎转载,转载请注明出处. 楔子 自从建了Spark交流的QQ群之后,热情加入的同学不少,大家不仅对Spark很热衷对于Storm也是充满好奇.大家都提到一个问题就是有关storm内部实现机理的资料比较少,理解起来非常费劲. 尽管自己也陆续对storm的源码走读发表了一些博文,当时写的时候比较匆忙,有时候衔接的不是太好,此番做了一些整理,主要是针对TridentTopology部分,修改过的内容采用pdf格式发布,方便打印. 文章中有些内容的理解得益于徐明明和fxjwind两位的指点,非常感谢.

CI框架源码阅读笔记4 引导文件CodeIgniter.php

到了这里,终于进入CI框架的核心了.既然是"引导"文件,那么就是对用户的请求.参数等做相应的导向,让用户请求和数据流按照正确的线路各就各位.例如,用户的请求url: http://you.host.com/usr/reg 经过引导文件,实际上会交给Application中的UsrController控制器的reg方法去处理. 这之中,CodeIgniter.php做了哪些工作?我们一步步来看. 1.    导入预定义常量.框架环境初始化 之前的一篇博客(CI框架源码阅读笔记2 一切的入

jdk源码阅读笔记之java集合框架(二)(ArrayList)

关于ArrayList的分析,会从且仅从其添加(add)与删除(remove)方法入手. ArrayList类定义: p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Monaco } span.s1 { color: #931a68 } public class ArrayList<E> extends AbstractList<E> implements List<E> ArrayList基本属性: /** *

dubbo源码阅读笔记--服务调用时序

上接dubbo源码阅读笔记--暴露服务时序,继续梳理服务调用时序,下图右面红线流程. 整理了调用时序图 分为3步,connect,decode,invoke. 连接 AllChannelHandler.connected(Channel) line: 38 HeartbeatHandler.connected(Channel) line: 47 MultiMessageHandler(AbstractChannelHandlerDelegate).connected(Channel) line: