本书基于《疯狂iOS讲义(上)》第2版升级而来,已真正升级成Swift、Objective-C双语讲解。本书所有案例(除前面介绍Objective-C语法部分之外)全部都提供Swift、Objective-C两种语言的版本。本书以最新的iOS 9.2、Xcode 7.2为平台,全面介绍了iOS应用开发的基础知识。书中每个案例、每个截图都全面升级到iOS 9.2。本书全面、细致地介绍了Objective-C的面向对象语法、Foundation框架的核心类库用法、文件 IO体系等,详细讲解了iOS应用开发的基本理论,以及iOS应用的MVC设计和事件处理编程,重点介绍了iOS界面编程、iOS应用的生命周期、Quartz 2D绘图、坐标变换、Core Image滤镜等内容,掌握这些基础内容之后,即可开发出基础的iOS App应用和简单的iOS游戏。本书最后介绍了一个疯狂连连看的实例。
本书详细介绍了iOS 9新增的UIAlertController、UIStackView控件,其中UIStackView正是为了自适应不同尺寸屏幕而设计的控件,可用于取代早期iOS开发中的约束(约束实在是太难以管理了)。本书还重点介绍了Xcode 7提供的Storyboard Reference,通过使用Storyboard Reference,可以对大型iOS App的界面设计进行分解、重构,从而保证项目具有更好的可维护性。
本书从“项目驱动”的角度来讲授理论,全书一共包括近百个实例,这些示范性的实例既可帮助读者更好地理解各知识点在实际开发中的应用,也可供读者在实际开发时作为参考,拿来就用。如果读者在阅读本书时遇到了技术问题,可以登录疯狂Java联盟(http://www.crazyit.org)发帖,笔者将会及时予以解答。
本书为所有打算深入掌握iOS编程的读者而编写,适合各种层次的iOS学习者和开发者阅读,也适合作为大学教育、培训机构的iOS教材。但如果只是想简单涉猎iOS应用开发,则本书过于庞大,不适合阅读。
前 言
移动互联网热潮在全世界引起了巨大反响,移动互联网正在改变着传统互联网的格局,全世界的IT公司争相将业务重心向移动互联网转型,移动互联网业务也成为业内最大的利润增长点。
Apple公司的iOS系统作为与Android并驾齐驱的操作系统,具有非常完善的生态圈,而且用户具有良好的付费习惯,吸引了大量的专业软件和小团队,甚至包括个人用户。
Apple公司提供的App Store作为应用程序市场,它为缺乏市场运作能力的第三方开发商和草根开发者赋予了新的商业机会:开发商和草根开发者只需专注于应用的开发,而市场和销售则交给Apple公司管理。在这种模式下,即使小型团队,甚至个人开发者也可以创造财富神话。
Apple公司在全世界IT行业是一个极富传奇色彩的公司,它一度成为全球市值最大的IT公司,Apple公司的产品对于年轻人始终具有神奇的魔力,尤其是iPhone和iPad两款广为人知的产品,更是让无数追求时尚的年轻人为之痴迷。目前Apple公司也在逐步推出iTV(基于iOS系统的智能电视)、iWatch(智能手表)等各种个人电子消费品,这些产品也吊足了时尚一族的胃口。Apple公司独特的设计、市场运作方式、商业模式和公司经营管理理念,也是众多IT公司竞相研究、模仿的对象。
本书基于《疯狂iOS讲义(上)》第2版升级而来,已真正升级成Swift、Objective-C双语讲解。本书所有案例(除前面介绍Objective-C语法部分之外)全部都提供Swift、Objective-C两种语言的版本。
本书基于最新的iOS 9.2,并采用最新的Xcode 7.2作为开发平台。书中每个案例、每个截图都是基于iOS 9.2的。本书详细介绍了iOS 9新增的UIAlertController、UIStackView控件,其中UIStackView正是为了自适应不同尺寸屏幕而设计的控件,可用于取代早期iOS开发中的约束(约束实在是太难以管理了)。本书还重点介绍了Xcode 7提供的Storyboard Reference,通过使用Storyboard Reference,可以对大型iOS App的界面设计进行分解、重构,从而保证项目具有更好的可维护性。
本书有什么特点
本书是一本介绍iOS应用开发的实用图书,全面介绍了iOS 9.2平台上应用开发各方面的知识。与市面上有些介绍iOS编程的图书不同,本书并没有花太多篇幅介绍Apple公司、iOS的发展历史(因为这些内容到处都是),完全没有介绍Apple Store(因为它只是一个交易网站,与iOS开发无关,但有些图书甚至用整整一章来介绍它)。
本书只用了一章来介绍如何搭建iOS开发环境和Xcode工具的用法。本书内容大致可分为两个部分:
第一部分详细介绍了Objective-C编程语言,本书在介绍Objective-C基本语法、面向对象语法时没有过多地使用IDE工具,而是带领读者使用最基本的文本编辑器学习编程,务必使读者真正掌握Objective-C语法。
第二部分介绍了iOS开发的基础,详细介绍了iOS项目的结构、各文件的作用及其调用关系,并归纳了iOS应用的MVC设计,在代码中获取UI控件的三种方式(必须先获取UI控件,然后即可修改它来更新用户界面),iOS应用事件处理的三种方式,通过这种方式可以让读者快速掌握iOS编程的思路。第二部分的重点是iOS应用的UI界面开发和图形、图像处理——全书300多页、近100个实例全面、系统地介绍了iOS的各种UI控件的功能、用法及其定制方法,并通过相应的实例程序给出了示范。
需要说明的是,本书只是一本介绍iOS应用开发的图书,不是一本关于所谓“思想”的书,不要指望学习本书能提高你所谓的“iOS思想”,所以奉劝那些希望提高编程思想的读者不要阅读本书。
本书更不是一本看完之后可以“吹嘘、炫耀”的书——因为本书并没有堆砌一堆“深奥”的新名词、一堆“高深”的思想,本书保持了“疯狂体系”的一贯风格:操作步骤详细,编程思路清晰,语言平实。只要读者想学习iOS开发,无须担心没有Apple电脑(网络上使用普通电脑装黑苹果的文章铺天盖地),无须担心没有iPhone(Xcode集成的模拟器在大部分场景下完全可以胜任开发)——即使读者以前没有编程基础,但只要有决心和毅力,阅读本书也不会有任何问题(本书从最基本的Objective-C语法开始讲起);只要你有决心和毅力,就可以掌握iOS应用开发。
认真看完本书,把书中所有示例都练习一遍,本书带给你的只是9个字:“看得懂、学得会、做得出”。本书不能让你认识一堆新名词,只会让你学会实际的iOS应用开发。本书最后综合运用前面介绍的UI编程、绘图等知识编写了一个疯狂连连看的小游戏,因此认真阅读本书,掌握书中知识即可开发出各种棋类、牌类、益智类的小游戏。
不管怎样,只要读者在阅读本书时遇到知识上的问题,都可以登录疯狂Java联盟(http://www.crazyit.org)与广大学习者交流,笔者也会通过该平台与大家一起交流、学习。
本书还具有如下几个特点:
1.知识全面,覆盖面广
本书深入阐述了Objective-C的基本语法,包括类、对象、方法、成员变量、KVC、KVO、继承和多态等面向对象的基础知识,也包括类别(category)、扩展(extension)、协议与委托、内存管理与ARC等Objective-C的高级知识。本书详细介绍了iOS全部图形界面控件的功能和用法,事件处理机制,iOS图形、图像处理,内容全面而深入,覆盖面非常广。
2.内容实际,实用性强
本书并不局限于枯燥的理论介绍,而是采用了“项目驱动”的方式来讲授知识点,全书包含近百个实例,几乎每个知识点都可以找到对应的参考实例。本书最后还提供了“疯狂连连看”应用,具有极高的参考价值。
3.讲解详细,上手容易
本书保持了“疯狂体系”的一贯风格:操作步骤详细,编程思路清晰,语言平实。只要读者有学习的决心和毅力,掌握本书内容就能打下扎实的iOS开发基础。
本书写给谁看
本书为所有打算深入掌握iOS编程的读者而编写,适合各种层次的iOS学习者和开发者阅读,也适合作为大学教育、培训机构的iOS教材。但如果只是想简单涉猎iOS应用开发,则本书过于庞大,不适合阅读。
2016-03-01
现在很多电脑都是没有光驱的,光盘怎么读?就不能提供代码下载吗?