Swift:面向协议编程 下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线

Swift:面向协议编程电子书下载地址
内容简介:
Swift 2.0版本之后,Swift已经正式成为一门面向协议编程的语言,但无论是行业内的从业者还是行业外的初学者,对面向协议编程的概念都很陌生,因此本书的内容围绕"面向协议编程”这一核心思想展开。*章是IDE以及Swift历史的简单介绍,第二章涵盖Swift的入门语法,第三章为Swift的进阶语法,涉及函数式编程思想、面向协议编程的基础理论以及Swift的内存优化,帮助读者建立面向协议编程的意识。第四章为iOS开发快速入门,帮助初学者了解iOS开发中的MVC模式以及一些常用操作,希望读者能通过实战环节快速消化Swift语法。*后一章重点介绍Swift面向协议编程的工程细节。
书籍目录:
目录
第1 章 搭建Swift 开发环境 ........................................................................................................ 1
1.1 Swift 介绍 .......................................................................................................................... 1
1.1.1 Swift 的前世今生 .................................................................................................. 1
1.1.2 Swift 与Objective-C ............................................................................................. 3
1.2 Mac OS X 操作系统 .......................................................................................................... 3
1.3 Xcode 简介和获取方法 .................................................................................................... 4
1.3.1 Xcode 简介 ............................................................................................................ 4
1.3.2 playground 简介 .................................................................................................... 4
1.3.3 Xcode 的获取方法 ................................................................................................ 5
1.4 iPhone SDK 简介 ............................................................................................................... 6
第2 章 Swift 基础语法 ................................................................................................................ 7
2.1 基础知识 ............................................................................................................................ 7
2.1.1 命名规则 ............................................................................................................... 7
2.1.2 常量与变量............................................................................................................ 8
2.1.3 类型推测 ............................................................................................................... 9
2.1.4 注释 ..................................................................................................................... 10
2.1.5 输出常量和变量 .................................................................................................. 10
2.2 基本数据类型 .................................................................................................................. 12
2.2.1 整数 ..................................................................................................................... 12
VIII Swift:面向协议编程
2.2.2 浮点数 ................................................................................................................. 12
2.2.3 布尔类型 ............................................................................................................. 12
2.2.4 元组类型 ............................................................................................................. 13
2.2.5 可选型 ................................................................................................................. 14
2.3 基本运算符 ...................................................................................................................... 17
2.3.1 赋值运算符.......................................................................................................... 17
2.3.2 数值运算 ............................................................................................................. 17
2.3.3 自增和自减运算 .................................................................................................. 18
2.3.4 复合赋值 ............................................................................................................. 18
2.3.5 比较运算 ............................................................................................................. 18
2.3.6 三元运算符.......................................................................................................... 19
2.3.7 逻辑运算符.......................................................................................................... 19
2.3.8 范围 ..................................................................................................................... 20
2.3.9 括号优先级.......................................................................................................... 20
2.4 字符串与字符 .................................................................................................................. 21
2.5 集合类型 .......................................................................................................................... 25
2.5.1 数组 ..................................................................................................................... 26
2.5.2 集合 ..................................................................................................................... 29
2.5.3 字典 ..................................................................................................................... 30
2.6 控制流 .............................................................................................................................. 32
2.6.1 for 循环 ................................................................................................................ 32
2.6.2 while 循环 ............................................................................................................ 33
2.6.3 if 判断语句 .......................................................................................................... 34
2.6.4 guard 判断语句 ................................................................................................... 34
2.6.5 switch 开关语句 .................................................................................................. 35
2.7 函数.................................................................................................................................. 38
2.8 闭包.................................................................................................................................. 45
2.9 Swift 三杰——类、结构体、枚举 ................................................................................ 48
2.9.1 Swift 三杰简介 .................................................................................................... 48
2.9.2 值引用与类型引用 .............................................................................................. 49
2.9.3 类 ......................................................................................................................... 50
2.9.4 结构体 ................................................................................................................. 51
2.9.5 枚举 ..................................................................................................................... 52
目录 IX
2.10 属性................................................................................................................................ 54
2.10.1 存储属性 ........................................................................................................... 54
2.10.2 计算属性 ........................................................................................................... 55
2.10.3 属性观察器........................................................................................................ 60
2.10.4 类型属性 ........................................................................................................... 61
2.11 方法................................................................................................................................ 62
2.12 下标................................................................................................................................ 65
2.13 继承...............................................................................
作者介绍:
陈刚,国内批Swift爱好者,有上万行Swift代码编程经验,CSDN博客专家。任职于好未来教育科技有限公司爱智康事业部,职业iOS工程师。
出版社信息:
暂无出版社相关信息,正在全力查找中!
书籍摘录:
暂无相关书籍摘录,正在全力查找中!
在线阅读/听书/购买/PDF下载地址:
原文赏析:
暂无原文赏析,正在全力查找中!
其它内容:
编辑推荐
面向协议编程包含了Swift标准库的核心思想,为代码的健壮性和灵活性提供了良好的支持。
本书由浅入深,详细阐述了如何面向协议编程,实例丰富,值得一读。
书摘插图
媒体评论
前言
推荐序
很高兴因为认识陈刚这位优秀的朋友,有幸让自己的文字能够呈现在读者面前,每一个字都显得很珍贵。
这是一本介绍 Swift 语言的书。说起编程语言,这些年也广泛地涉猎过诸多语言。从初中时开始接触 VB,写一些小程序,然后发送给朋友们。那时的 VB 看起来就像数学公式一样。现在回头一看,可视化的界面编辑也正像 Xcode 的 Interface Builder 一样。到后来接触了算法竞赛,开始写一些Pascal,告别了图形化界面,在 Turbo Pascal 的蓝屏背景下写一些begin、end、readln、writeln。后来去外面参加竞赛,考卷有三种语言选择:Pascal、C、C 。当大部分人用 Pascal 的时候,有少数几个人用 C、C 考试,而监考老师发卷到他们那里的时候也会说好厉害。于是潜意识中,觉得 C、C 是比 Pascal 更加厉害的语言。于是学了一年Pascal 的我再度归零,拿起了谭浩强老师编写的《C 程序设计》。C 语言让我感觉很简洁,同时接触了指针、内存管理、字符串库。比起 Pascal,C 代码让我觉得是那样简洁、优雅。每一个字符都有它的力量,无法去掉、无法再简洁了。用它来写深度搜索、图论、二叉树算法,然后去在线评测系统提交代码,再优化优化,接着代码效率能上排名榜的页,是一个15 岁少年所能期待的美好的事情。
接着读起了刘汝佳前辈的《算法竞赛入门经典》一书,感慨语言之上,还能实现那么多算法,解决一个又一个的问题。就像这本书一样,前面的语言章节仅是铺垫,后面的 iOS 开发章节才是高潮。精通一门语言,然后用它去开发各种灿烂的iOS 应用,才是高潮。
算法陪我度过了高中。高考之后,我读了《黑客与画家》一书,对 Lisp 语言崇拜不已,于是就学了 Lisp。在2013 年到 2015 年,又陆续学了 Java、Clojure、JavaScript、Objective-C 和Swift。
IV Swift:面向协议编程
后来创业做 Reviewcode.cn,又学了PHP、 CSS 和 HTML。开始更多地知道后端系统里,语言起着怎样的作用。后来到了新公司,担任 Go 后端工程师。又在一个星期内学了 Go,并用它做了抢/发红包、充值的 API 接口,协调移动端同时上线了。
当用过很多语言后,你会发现很容易上手一门新语言,并快速用来干活。近我也重新起航创业了,创立了趣直播——一个知识直播平台,孙源Sunny、iOS 程序猿都来直播过,可到我们的公众号“平方根平台”来看看,也可加我的微信“lzwjava”来交流产品或技术。
初识Swift 的原因是公司准备把 Objective-C 示例应用用Swift 重写。重写是件挺无聊的事情,于是只重写了觉得有趣的部分,其他代码都用GitHub 上的Objective-C 转 Swift 的程序先转一遍,然后再去修复。将Objective-C 自动转成Swift,在Swift 1.0 版本时还很好用,不用修复。可惜我当时用的时候,已经是Swift 1.2 版本了。算是给本书提供了一个 Swift 语法多变的真实例子吧。后来用 Swift 做了微图项目,旨在模仿国外的 imgur,展示互联网上热门的图,接触到了extension、protocal、enum。再后来尝试用 Swift 写了一个 HTML Parser,比如从一大堆 HTML中解析 class="btn-blue" 的 div 出来, 从而对 Swift 字符串处理、错误处理、AnyObject 有了更深入的了解。
Swift 中的 map、flatMap、filter,这些是 Lisp 系语言函数的基础,通常用它们来构造更高阶的函数。比如下面的clojure 代码片段,从 map 中获取 values 对应的keys:
(let [m {:x 1 :y 2 :z 3}
vset #{2 3}]
(map first (filter (comp vset last) m)))
;;=> (:y :z)
很高兴 Swift 有这么多函数式的语法支持,函数式语言很擅长处理数据转换,很优雅也很强大,想想上面的几行代码用其他语言实现需要多写多少代码吧?
我是早前于 SwiftGG 的一次聚餐中认识作者陈刚兄的,后续时有交流。虽然不能经常见面,但互相欣赏、惺惺相惜。希望未来有机会和陈刚兄一起共事。
本书通读下来,不禁对陈刚兄做事的认真感到佩服。相信他能带领大家进入 Swift 的世界,掌控这门语言,写出各种灿烂的应用!
——趣直播创始人 李智维
前言
众所周知,在2015 年的 WWDC 上,苹果发布了 Swift 语言的 2.0 版本,并且正式宣布 Swift成为一门面向协议编程的语言。作为一个从 2014 年就开始接触Swift 的程序员,我在当时已经具备了一定的 Swift 面向对象编程经验,这些经验帮助我顺利地完成了工程的更新;同样,这些经验也让我变得迟钝。在 2.0 版本发布之初,面向协议编程这个名词就好像一滴水滴入了大海中,从我的关注中溜走了。好在我是个对知识充满敬意的人,此后的数月中,我都在重点研究 WWDC2015 的视频资料,此时我才惊奇地发现,初的那滴水变成了我心头的惊涛骇浪,我开始不断地思考与探索面向协议编程的含义。
那么面向协议编程到底是什么呢?一句话就能概括:用协议扩展的方式代替继承,实现代码复用。这个“代替”的影响是深远的,协议扩展使得值类型在保持原有特性的同时,也能和引用类型一样实现代码的复用。定长的值类型保存在栈内存上,值类型没有引用计数、不会被“共享”、只需用常数时间就能完成一次“复制”,等等,这些特性使得值类型相比引用类型拥有更快的读写速度。同时,值类型的方法可以在编译期进行“内联”优化,更多的值类型意味着更大的优化空间。Swift 不但通过协议扩展的方式填补了传统面向对象编程语言中值类型代码复用的鸿沟,同时应用 Copy-on-Write 技术还可免于陷入“复制”带来的性能问题。在 Swift 的代码世界中,值类型得到了空前的解放。如果你正在使用 Swift 3.0 版本,那么你应该已经发现了,那些摘掉了“NS”前缀的 Swift 原生对象,大部分都变成了值类型,毫无疑问,这种演变在后续的版本中还会继续进行下去。所以从内存的角度来看,面向协议编程正朝着面向栈内存编程的方向前进。
这本书诞生于我在重新研究 WWDC 2015 视频的阶段,我所编著的《Swift 开发手册:技巧与实战》首印即将售罄,该书的责编安娜(也是本书的责编)与我商讨重印的细节。受写作时Swift版本的影响,《Swift 开发手册:技巧与实战》是一本面向对象编程的教材;所以在深思熟虑之后,我决定放弃该书的重印,重新创作一本面向协议编程的教材,也就是你现在看到的《Swift:面向协议编程》。在本书的创作过程中,我保留了旧作中的部分目录和示例,加入了我对 WWDC 2015以及 WWDC 2016 重新研究后的心得体会、个人在工作中的面向协议编程实战经验以及对编程模式的思考。Swift 开源之后,除了可以在 iOS 平台应用外,在其他平台也有强劲表现,所以本书的内容编排侧重于语言本身及编程方式的思考,弱化了 iOS 开发的教学。由于本书的创作时间比较久,所以主体内容是基于 Swift 2.2 版本创作的。在 Swift 3.0 版本发布之后,我时间投身到新版本的学习中,在本书的第二次排版时加入了 Swift 3.0 的改动,力争做到全面和准确。可以预见,3.0 版本不会是 Swift 的后一个版本,所以请读者在学习时以当前的语言版本做参考。
后感谢电子工业出版社的编辑安娜为本书所做的付出,多次合作我们已经建立了深厚友谊与足够的默契。感谢公司对我的信任,让我如愿以偿地成为了一名职业 iOS 开发者,获得了很多应用 Swift 的机会。感谢智维,创业辛苦仍不失对技术的热情,在百忙中抽出时间帮我写序,祝趣直播越做越好。感谢帮我写书评的王巍大神、InfoQ 主编徐川老师、还有圈内好友RxSwift 大神小青和SwiftGG 翻译组的前辈羊叔,你们的支持是我前进的动力,同时也感谢唐巧、付若愚和李明杰三位老师的关注。感谢师父时永昌对我的关怀和指导,感谢和我合作开发个 Swift 项目的同事杨帅以及同组的所有同事,感谢帮我纠错的同事蒙朦,感谢共同学习进步的其他TStar 们(白建国、薛刚、施洁、邓飞)。
为了更好地解答读者疑问,时间分享Swift 心得,我开通了微信订阅号:SwiftTime 雨燕时光,欢迎读者订阅交流。
走心的Swift 翻译组地址:
http://swift.gg
。
CSDN 个人博客地址:
http://blog.csdn.net/cg1991130
。
本书第4 章和第5 章的 Demo 地址:
https://pan.baidu.com/s/1gfMC7RX
。
书籍介绍
《Swift:面向协议编程》第1章简要介绍了Swift 的发展历史以及Swift 开发工具的获取途径。第2章介绍了Swift 的基础语法,细致讲解了面向协议编程中至关重要的协议扩展用法与泛型优化。第3章讲解了Swift 的进阶语法,从语言层面深入到内存层面,对Swift 的特性进行了剖析,帮助读者写出更加Swift 化的代码。第4章通过一个完整的计算器Demo 指导读者快速完成一个iOS 应用的开发,熟悉Xcode 的使用,理解经典的MVC 编程模式。第5章通过一个备忘录Demo,将传统的MVC、MVVM 思想构建的程序与基于协议构建的程序进行了多个维度的对比,揭开了面向协议编程思想的神秘面纱,教会读者如何在实际工作中应用面向协议编程思想。
网站评分
书籍多样性:4分
书籍信息完全性:3分
网站更新速度:4分
使用便利性:9分
书籍清晰度:7分
书籍格式兼容性:6分
是否包含广告:9分
加载速度:4分
安全性:9分
稳定性:6分
搜索功能:5分
下载便捷性:8分
下载点评
- 字体合适(448+)
- 五星好评(260+)
- 四星好评(294+)
- 收费(336+)
- 藏书馆(492+)
- 购买多(308+)
- 已买(551+)
- 体验差(89+)
- 书籍完整(476+)
下载评价
- 网友 孔***旋:
很好。顶一个希望越来越好,一直支持。
- 网友 戈***玉:
特别棒
- 网友 国***芳:
五星好评
- 网友 融***华:
下载速度还可以
- 网友 印***文:
我很喜欢这种风格样式。
- 网友 龚***湄:
差评,居然要收费!!!
- 网友 詹***萍:
好评的,这是自己一直选择的下载书的网站
- 网友 晏***媛:
够人性化!
- 网友 隗***杉:
挺好的,还好看!支持!快下载吧!
- 网友 马***偲:
好 很好 非常好 无比的好 史上最好的
- 网友 曾***玉:
直接选择epub/azw3/mobi就可以了,然后导入微信读书,体验百分百!!!
- 网友 师***怡:
说的好不如用的好,真心很好。越来越完美
- 网友 索***宸:
书的质量很好。资源多
- 网友 汪***豪:
太棒了,我想要azw3的都有呀!!!
喜欢"Swift:面向协议编程"的人也看了
统编语文教材快乐读书吧三年级下:伊索寓言 下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线
喧闹的骡子:留学生与中国现代文化 下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线
365夜儿歌精选(新版) 下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线
给青年的十二封信 朱光潜 天天出版社有限责任公司 9787501615957 下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线
新零售背景下制造商双渠道供应链协同与优化 下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线
告别梵高 下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线
史记 经典直读本 左边文言文右边白话文 直观流畅一目了然 曾国藩、李景星点评,当代国学大家陈书良释义 下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线
天一文化 (2014)全国造价工程师执业资格考试完全解读 建设工程技术与计量安装工程 下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线
魔术先生Ⅱ 下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线
北京行车指南 下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线
- 酒店英语(第2版) 下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线
- 微波技术基础(第5版) 下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线
- 躺椅和舞台 下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线
- 大学专业英语SBE 能源动力英语1 下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线
- 大脑训练就是让你记得住 高效的270个记忆法快速记忆法记忆达人练就手册提升记忆法记忆技巧方法思维训练大脑开发 下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线
- 全民读史——刘备发迹史(刘备的人脉编织与成事攻略) 下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线
- 酒店职场健康和安全(中澳项目中职旅游系列) 下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线
- 小学生必背文言文 下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线
- 最新中考英语书面表达150篇 下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线
- 跟冠军学打羽毛球(全彩图解视频学习版 ) 下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线
书籍真实打分
故事情节:3分
人物塑造:4分
主题深度:5分
文字风格:9分
语言运用:6分
文笔流畅:5分
思想传递:8分
知识深度:8分
知识广度:5分
实用性:9分
章节划分:8分
结构布局:8分
新颖与独特:4分
情感共鸣:7分
引人入胜:8分
现实相关:5分
沉浸感:9分
事实准确性:5分
文化贡献:6分