前言
为什么要写这本书
目前,不管是在京东、淘宝、当当还是亚马逊,所有市面上销售的符合Swift 3.0语法的iOS开发书籍屈指可数。即便有也是基于Swift 3.0语言的几个常用知识点,分章节进行传统式讲授,比如Swift基本语法、控制流、函数和闭包等。如果再找一本Swift 2.0的相关书籍,从目录可以发现它们之间的区别并不大。这也就意味着,如果你已经掌握了Swift 2.0,就没有必要再去买一本Swift 3.0的语法书去学习它们之间的不同,因为这些大部分只是形式层面上的不同。
作为一名iOS开发程序员,如果掌握了Swift语法知识以后,接下来便是需要通过积累项目实战经验来提升自己的等级了。而这一过程的重点是在完成项目需求的“一条线、一个面”上,而不是在“某个点”上面。因此,这个项目必须是一个接近完美的产品,它要可以访问后台数据库,具有社交功能,可以添加关注和“被粉”,可以注册用户,实现登录和退出,通过注册的邮箱修改密码,发送信息到后台服务器的数据库,可以通过相册发布帖子照片,可以评论、@其他用户和提交主题标签,当有新消息的时候还可以通知当前用户。基于这样的考虑,本书以国外较为流行的照片分享应用程序——Instagram为例,实现了从用户注册、登录到照片发布、评论、主题标签和@mention等一系列功能,让广大读者可以通过本书将所学到的知识点运用到实战中去,摆脱纸上谈兵,真正地将所有的知识点融会贯通,从而打通所有“脉络”,在编写程序代码的时候达到“思如泉涌”的效果。
本书的主要内容和特色
在笔者读过的很多技术书籍中,绝大部分都是每个章节介绍一个技能,并且通过一个相对独立的实例来进行讲解。例子虽然短小,容易理解,但是所有章节没有任何关联,使读者缺乏开发一个真正完整项目的体验。
本书以构建一个仿Instagram项目的实践案例贯穿全书,将所有知识点融入到实践中,使大家真正理解和掌握如何通过Xcode SDK和Swift 3.0语言来开发iOS应用程序。
除了书中所涉及的程序代码以外,本书还配套推出了相应的UI设计视频,并通过二维码的形式供广大读者观看。这样做的目的:一是因为通过视频方式讲解UI界面的制作过程会更加生动形象,易于读者的学习与实践;二是可以节省很多纸张来进行文字性描述和贴图,更加环保;最后一点就是阅读本书的读者大部分都是程序员,本身对于美工方面的技能并不是很精通,但多了解一些也没有什么坏处,不至于在团队交流的时候被“忽悠”了。基于这三点考虑,笔者录制了相应UI界面的制作视频,可以让程序员在编写代码的时候,开开心心制作UI界面。
本书是根据应用程序项目所实现的功能安排章节的,具体如下:
第一部分(第1~10章)实现的是Instagram最基本的功能,包括:在iOS项目中集成LeanCloud SDK,实现用户的注册、登录和密码重置功能,UI界面的搭建与布局。
第二部分(第11~18章)实现个人用户和访客页面的相关功能,包括:个人用户和访客的页面UI搭建,从LeanCloud云端获取个人信息,关注和被粉信息等。
第三部分(第19~25章)实现的是个人配置页面及发布页面的功能,包括:个人配置页面的数据接收与提交,帖子照片的上传,分页载入,帖子单元格的布局等。
第四部分(第26~32章)实现了帖子评论功能,包括:创建评论界面,创建主题标签和@mention功能等。
第五部分(第33~37章)实现了Instagram的集合页面,搜索及通知功能。
各个部分的功能实现都基于由浅入深、循序渐进的原则,让广大读者在实践操作的过程中不知不觉地学习新方法,掌握新技能。
本书面向的读者
本书适合具备以下几方面知识和硬件条件的群体阅读。
❑有面向对象的开发经验,熟悉类、实例、方法、封装、继承、重写等概念。
❑有Objective-C或Swift的开发经验。
❑有MVC设计模式开发经验。
❑有简单图像处理的经验。
❑有一台Intel架构的Mac电脑(Macbook Pro、Macbook Air、Mac Pro或Mac Mini)。
❑如果加入了iOS开发者计划,还可以准备一台iOS移动设备。
如何阅读本书
每个人的阅读习惯都不相同,而且本书并不是一本从Swift语法讲起的基础“开荒”书。所以我还是建议你先找一本Swift 2.X的语法书学起,在有了一定的Swift语言基础以后,再开始阅读本书,跟着实践操作一步步完成Instagram项目。
在阅读本书的过程中,我们可能会遇到语法错误、编译错误、网络连接错误等情况,不用着急,根据调试控制台中的错误提示,去分析产生Bug的原因,或者通过与本书所提供的源码进行对比,找出问题所在。
本书采用循序渐进的方式,这也就意味着在第5章出现的知识点,有可能在第12章还会出现。这样就可以使广大读者有机会多次去学习和巩固该知识点所能够解决的问题,效果会更好。
勘误和支持
由于水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。书中的全部源文件可以从华章网站(www.hzbook.com)下载。如果你有更多的宝贵意见,也欢迎发送邮件至邮箱liuming_cn@qq.com,期待能够得到你们的真挚反馈。
致谢
首先要感谢伟大到可以改变这个世界的Steven Jobs,他的精神对我产生了非常大的影响。
感谢机械工业出版社华章公司的编辑杨福川老师,在这段时间中始终支持我的写作,你的鼓励和帮助引导我顺利完成全部书稿。
最后感谢我的爸爸、妈妈、刘颖、刘怀羽、张燕、卢红玲,感谢你们对我的支持与帮助,并时时刻刻给我信心和力量!
谨以此书献给我最亲爱的家人,以及众多热爱iOS的朋友们!
刘铭
2016年12月于中国北京