前言 新一轮科技革命和产业变革带动了传统产业的升级改造。党的二十大报告强调“必须坚持科技是第一生产力、人才是第一资源、创新是第一动力,深入实施科教兴国战略、人才强国战略、创新驱动发展战略,开辟发展新领域新赛道,不断塑造发展新动能新优势”。建设高质量高等教育体系是摆在高等教育面前的重大历史使命和政治责任。高等教育要坚持国家战略引领,聚焦重大需求布局,推进新工科、新医科、新农科、新文科建设,加快培养紧缺型人才。 iOS是由Apple公司开发的在移动设备上运行的操作系统。Apple公司于2007年1月在Macworld大会上发布了iOS系统,最初是用于iPhone手机,后来陆续扩展到iPod touch和iPad。据IDC的统计数据,自2012年以来,iOS系统的全球市场份额稳居移动端操作系统次席。截至2022年年底,App Store上的应用数量超过164万,App Store的全球付费订阅用户数量超过8亿。iOS应用的开发市场仍然具有一定的发展前景。 iOS应用开发与其他类型的应用开发具有一定的区别,由于Apple公司的发展策略,iOS系统采取闭源政策,目前iOS应用的开发需要在macOS系统下进行。macOS系统与Windows或Linux系统不同,Windows或Linux系统能够安装在不同型号的设备上,而macOS系统只能在Apple计算机上进行正常适配,并且对Apple设备的型号有一定的限制,所以iOS应用的开发对环境的要求较高。受此影响,市场上的iOS应用开发工具不像其他语言那样百花齐放,目前较主流的iOS应用开发IDE只有两个,一个是Apple公司推出的Xcode,另一个是JetBrains公司推出的AppCode,两款软件各具特色,但功能大致相同,本书采用Xcode作为实例讲解的IDE。另外,iOS应用开发不像其他类型的应用那样支持种类丰富的语言,目前仅支持ObjectiveC与Swift语言。2019年,Apple公司已停止对ObjectiveC的API进行更新,因此本书采用当前流行的Swift语言进行程序编写。 根据iOS应用开发的特点,本书遵循“理实一体化”的理念,力求站在读者的角度进行内容的组织与编写,每个知识点都配有详细的应用实例(大多数实例配有视频演示),各章还精心设计了习题和实训,帮助读者理解与巩固所学知识。本书根据程序设计课程实践性较强的教学特点,结合读者的学习习惯,循序渐进地介绍了iOS应用开发过程中涉及的知识、技术和技巧。本书内容深入浅出,能够帮助初学者快速入门,也能为后续进阶学习奠定基础。 本书内容分为上下两篇,共13章,详细讲解了iOS应用开发过程中所需的知识与技术,具体内容如下。 上篇包括第1~8章。第1章概要介绍了macOS系统、iOS系统、iOS开发环境Xcode和iOS应用开发语言Swift。第2章介绍了Swift中的整数类型、浮点数类型、布尔类型、字符类型、元组类型、可选类型的使用方法,Swift数据类型的特点,以及Swift字面值的使用方法。第3章介绍了Swift中顺序、选择、循环三种结构的相关语法、操作与应用示例等。第4章介绍了Swift数组、Swift Set(集合)、Swift字典的相关语法、操作与应用示例。第5章介绍了Swift函数、Swift闭包、Swift内存管理的相关语法、操作与应用示例。第6章介绍了Swift结构体、Swift类的相关语法、操作与应用示例等。第7章介绍了Swift枚举、Swift协议、Swift扩展的相关语法、操作与应用示例。第8章介绍了Swift异常、Swift泛型的相关语法、操作与应用示例。 下篇包括第9~13章。第9章通过“第一个iOS应用”案例介绍了iOS应用的完整开发流程,以及添加iOS应用图标的方式。第10章介绍了Label对象、TextField对象、Button对象的创建、使用方法与应用示例。第11章介绍了DatePicker对象、TableView对象的创建、使用方法与应用示例。第12章介绍了Switch对象、Slider对象、ImageView对象的创建、使用方法与应用示例。第13章介绍了用AVFoundation框架和AVPlayer类播放iOS音频、视频的方法与应用示例。 本书由笔者独立完成,在本书的撰写过程中笔者参考了大量网络资料、文献与书籍,对相关知识与技术进行了系统性整理,在此对这些资料的作者表示感谢。限于笔者的水平,本书难免存在不足之处,恳请读者批评指正。 本书配有教学视频、教学大纲、教学课件、习题答案、程序源码等教学资源。读者扫描封底“文泉云盘防盗码”、绑定微信账号之后,即可随时扫描书中的二维码观看视频,其他教学资源请从清华大学出版社公众号“书圈”(见封底)下载。读者如果在本书及资源的使用中遇到问题,请联系责任编辑(404905510@qq.com)。 罗良夫2023年1月