前 言
编写本书的目的
2011年9月,我第一次接触了macOS平台,并且学习了Xcode工具和Objective-C语言。当时市面上的学习资料比较少,所以学习iOS开发时,即便是对于我这个曾经从事过3年PHP编程和4年J2EE开发的程序员来说,也是比较吃力的事情。
而对于现在的读者来说,几乎有数十种iOS入门的教程可供选择。不过令人感到困惑的是,还没有一本书籍能够作为初学者向更高阶内容前进的桥梁。
本书针对没有任何iOS应用程序开发基础的开发者,从基本的iOS程序语言Swift 4.0开始介绍,接着对苹果公司提供的API开发框架Cocoa Touch的原理进行分类和详细讲解,进而对iOS的顶尖技术进行梳理和讲解。最后结合实际的案例整合出一款符合MVC设计模式并包含大量实用iOS开发技能的商业App,让读者能够成为在iOS 应用开发领域中驰骋的高手。
iOS系统已经陪伴我们走到了第11个年头,iPhone、iPod Touch、iPad这些搭载着iOS系统的设备,以其丰富的功能和出色的用户体验改变了我们日常的生活、工作和娱乐方式。
当全世界都在赞叹苹果的iOS时,iOS开发的就业大门也面向全世界打开了。随着移动互联网渐入佳境,越来越多的组织和个人开始进入移动互联网领域。在这个充满机会的移动互联时代,赶快加入iOS App的开发行列吧!
本书主要内容
本书内容全面,几乎涵盖了iOS 11应用开发所需要的内容,全书内容言简意赅,讲解方法通俗易懂,特别适合初学者学习使用。
本书内容共分三篇,第一篇为基础篇,主要介绍了iOS开发的基础知识,包括iOS系统的历史、Swift 4.0语言、UI界面构建技术、视图控制器、常用的控件、表和集合视图、视图和层、声音、视频、动画等;第二篇为进阶篇,主要介绍了Alamofire网络服务、数据的持久化、多线程、CoreText、CoreImage、Storyboard、CoreML机器学习、ARKit增强现实、自动化测试、性能分析、本地化、加密与安全等实用技术;第三篇为实例篇,通过对实体层、表现层和逻辑层三层相关技术的讲解,向读者详细展示了MVC设计模式在项目开发中的应用方式,并最终创建一个成熟的商业项目。
本书采用丰富的实例、直观的代码展示向读者形象地讲解了在创建一款优秀的iOS应用程序时所需要的大部分技巧,帮助读者轻松掌握并高效开发iOS程序。
本书特点
内容全面:包含Swift 4.0语言、Cocoa Touch、视图控制器、控件、表格、网络、地图、音频、视频、动画、触摸、手势、故事板、CoreData、性能测试、机器学习、增强现实、加密和解密等众多功能模块。这些内容是iOS开发必知必会的内容,需要读者重点掌握。
由浅入深:内容按照原理讲解、实现过程、代码解析的编排顺序讲解,使读者朋友更容易掌握知识点。同时对重点代码做了大量的注释和讲解,以便于读者更加轻松地学习。
代码精简:为了在有限的篇幅内讲解更多的实用功能,在本书中只给出了每个实例的核心代码及分析结构性代码,保留关键代码和核心代码,以节省篇幅,让本书更超值。
原理图解:为复杂的原理讲解配有生动、详细的图例,以帮助读者轻松理解相关概念。
重点讲解:对每个实例的核心功能都给予了专门讲解,以便于读者更好地掌握。
书中的实例完全适用于全新的iOS 11开发平台,同时也兼容iOS 10等旧的开发平台。
读者对象
通过对本书的学习,读者可以基本建立起iOS 11技术的思想框架,并且对iOS 11开发的过程有一个全面的了解。因此,本书适合iOS开发初学者、iOS程序员、iPhone开发人员、iPad开发人员学习,同时也可以作为相关培训机构和大专院校相关专业的教学用书。
练习素材和视频教程
为方便读者学习,本书提供了练习素材和视频教程,具体使用方法如下:
本书源代码中的文件夹名称,如17.1.3CoreTextProject_RichText,名称的前三个数字表示第17章的第1节的第3个示例项目的源代码。CoreTextProject表示当前为CoreText相关的示例项目,而RichText为示例项目的名称。
所有代码均可直接使用Xcode开发工具运行(我会根据读者的意见反馈,随时更新位于此地址的源代码)。同时,相比本书第一版,第二版提供了更多、更实用、更精彩的配套视频教程,包含Xcode 9、Swift 4和iOS开发热门开源项目的分析与 讲解。
本书中大部分示例可以在Xcode 9的iOS模拟器中运行。部分示例如相机、定位设备的使用需要连接真机进行测试。此时,你需要一个苹果开发者账户来访问大部分工具和文档,并且需要一个开发人员许可证来在真机上运行应用程序,对此请参考第1章的内容进行账号的注册和设置。
如果下载有问题,请发送电子邮件至
[email protected]获得帮助,邮件标题为“iOS移动开发从入门到精通配书文件”。
勘误和支持
书中所有章节的内容和源代码都根据Swift 4.0和iOS 11.0版本进行了更新。如果你遇到有关兼容性的问题请联系我,我会发布更新并进行修改。
如果你对本书的内容有任何建议,或者发现了本书的一些错误,希望尽快联系我,这将对本书的后续版本有很大的帮助。我非常愿意听取任何能使本书变得更加完善的建议,并会不断致力于让本书更加完美。
致谢
首先衷心地感谢清华大学出版社的王金柱老师及各位编辑对本书的编写给予的帮助和 关注。
感谢酷课堂iOS移动开发交流群的小伙伴、广大读者朋友们及时提出的各种反馈建议。
感谢好友兼第一版合著者王亮,以及冉玉玲、李爱民、谢美仙、李晓飞、朱小娟、李红梅、翟海岗、金善众、蔡银珠、金依灵、郑大翰、戴永威等人在写作过程中给予的支持和鼓励!感谢我的爱人金兵兵女士耐心地帮助校对书稿,提出改进意见,感谢大儿子李金诚、小女儿李开颜带给我新的见解和创意,愿你们健康快乐成长,用自己的努力去实现人生的一个个梦想!
最后,感谢这个时代给予每位有理想的人实现人生价值的机会!
编 者
2018年7月1日