全书包含近百个实例,几乎每个知识点都可以找到对应的实例,最后提供“连连看”极具参考价值。
全部案例均通过真机测试,随书光盘提供全部代码。
本书基于《疯狂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应用开发,则本书过于庞大,不适合阅读。
李刚,十余年软件开发从业经验,疯狂软件教育中心教学总监。疯狂Java实训营创始人,疯狂Java体系原创图书作者。广东技术师范学院计算机科学系兼职副教授,51CTO专家门诊特邀嘉宾。培训的学生已在华为、IBM、阿里软件、网易、电信盈科等名企就职。国内知名高端IT技术图书作家,已出版《疯狂Java讲义》《疯狂Android讲义》《轻量级JavaEE企业应用实战》《疯狂iOS讲义(基础篇)(提高篇)》《疯狂前端开发讲义》《疯狂HTML5/CSS3/JavaScript讲义》《疯狂XML讲义》《经典JavaEE企业应用实战》《Struts2。x专业指南》等著作。其中疯狂Java体系图书均已沉淀多年,赢得极高的市场认同,多次重印,多部著作印刷数量超过10万册,并被多所“985”“211”院校选作教材,部分图书已被翻译成繁体中文版,授权到中国台湾地区。
第1章 iOS应用与开发环境 1
1.1 iOS简介及其开发语言 2
1.1.1 Swift简介 2
1.1.2 Objective-C简介 2
1.1.3 iOS简介 3
1.2 搭建iOS开发环境 4
1.2.1 下载并安装Xcode和SDK 4
1.3 第一个Objective-C程序 7
1.3.1 使用文本编辑器开发Objective-C程序 7
1.3.2 使用Xcode工具开发Objective-C程序 9
1.4 熟悉Xcode 11
1.4.1 创建iOS项目 11
1.4.2 熟悉导航面板 13
1.4.3 熟悉检查器面板 16
1.4.4 熟悉库面板 17
1.4.5 使用Xcode的帮助系统 19
1.5 本章小结 21
第2章 数据类型和运算符 22
2.1 注释 23
2.2 标识符和变量 24
2.2.1 分隔符 24
2.2.2 标识符规则 26
2.2.3 Objective-C关键字 26
2.3 数据类型分类 26
2.4 基本数据类型 27
2.4.1 整型 27
2.4.2 NSLog输出函数及格式字符 28
2.4.3 字符型 30
2.4.4 浮点型 31
2.4.5 枚举型 32
2.4.6 BOOL类型 34
2.5 类型转换 35
2.5.1 自动类型转换 36
2.5.2 强制类型转换 37
2.5.3 表达式类型的自动提升 37
2.6 运算符 38
2.6.1 算术运算符 38
2.6.2 赋值运算符 41
2.6.3 位运算符 41
2.6.4 扩展后的赋值运算符 43
2.6.5 比较运算符 44
2.6.6 逻辑运算符 45
2.6.7 逗号运算符 45
2.6.8 三目运算符 46
2.6.9 运算符的结合性和优先级 47
2.7 本章小结 48
第3章 流程控制与数组 49
3.1 顺序结构 50
3.2 分支结构 50
3.2.1 if条件语句 50
3.2.2 switch分支语句 54
3.3 循环结构 56
3.3.1 while循环语句 56
3.3.2 do while循环语句 58
3.3.3 for循环 59
3.3.4 嵌套循环 62
3.4 控制循环结构 63
3.4.1 使用break结束循环 63
3.4.2 使用continue结束本次循环 64
3.4.3 使用return结束函数 64
3.5 goto语句 65
3.6 数组 67
3.6.1 定义数组 67
3.6.2 数组的显式初始化 68
3.6.3 使用数组 69
3.6.4 多维数组 70
3.6.5 多维数组的初始化 71
3.6.6 字符数组、字符串与结束标志 77
3.6.7 输出字符串和字符串函数 78
3.6.8 数组的应用举例 80
3.7 本章小结 81
第4章 C语言特性 82
4.1 函数 83
4.1.1 定义函数 83
4.1.2 函数声明 86
4.1.3 函数的参数传递机制 87
4.1.4 递归函数 91
4.1.5 数组作为函数参数 92
4.1.6 内部函数与外部函数 96
4.2 局部变量与全局变量 98
4.2.1 局部变量 98
4.2.2 全局变量 99
4.2.3 外部全局变量与内部全局变量 101
4.2.4 动态存储与静态存储 102
4.3 预处理 105
4.3.1 使用#define、#undef执行宏定义 105
4.3.2 带参数的宏定义 107
4.3.3 使用#ifdef、#ifndef、#else、#endif执行条件编译 108
4.3.4 使用#if、#elif、#else、#endif执行条件编译 110
4.3.5 #include与#import 111
4.4 指针 112
4.4.1 指针的概念 112
4.4.2 指针变量及其基本用法 113
4.4.3 指针变量作为函数参数 115
4.5 指针与数组 117
4.5.1 指向数组的指针变量 117
4.5.2 指针运算 118
4.5.3 数组变量作为函数参数 120
4.5.4 指向多维数组的指针变量 122
4.6 字符串与指针 124
4.6.1 使用字符指针表示字符串 125
4.6.2 字符指针作为函数参数 125
4.7 函数与指针 127
4.7.1 用函数指针变量调用函数 127
4.7.2 用函数指针变量作为函数参数 128
4.7.3 返回指针的函数 129
4.8 指针数组和指向指针变量的指针 131
4.8.1 指针数组与main()函数形参 131
4.8.2 指向指针变量的指针 134
4.9 结构体 134
4.9.1 定义结构体 134
4.9.2 typedef语句 136
4.9.3 初始化结构体变量 138
4.9.4 结构体数组 139
4.10 块 140
4.10.1 块的基本语法 140
4.10.2 块与局部变量 141
4.10.3 直接使用块作为参数 142
4.10.4 使用typedef定义块类型 143
4.11 本章小结 144
第5章 面向对象(上) 145
5.1 类和对象 146
5.1.1 定义类 146
5.1.2 对象的产生和使用 150
5.1.3 对象和指针 152
5.1.4 self关键字 154
5.1.5 id类型 157
5.2 方法详解 158
5.2.1 方法的所属性 158
5.2.2 形参个数可变的方法 159
5.3 成员变量 160
5.3.1 成员变量及其运行机制 160
5.3.2 模拟类变量 163
5.3.3 单例(Singleton)模式 164
5.4 隐藏和封装 165
5.4.1 理解封装 165
5.4.2 使用访问控制符 165
5.4.3 理解@package访问控制符 169
5.4.4 合成存取方法 170
5.4.5 使用点语法访问属性 176
5.5 键值编码(KVC)与键值监听(KVO) 176
5.5.1 简单的KVC 177
5.5.2 处理不存在的key 179
5.5.3 处理nil值 181
5.5.4 key路径 182
5.5.5 键值监听(KVO) 184
5.6 对象初始化 187
5.6.1 为对象分配空间 187
5.6.2 初始化方法与对象初始化 187
5.6.3 便利的初始化方法 189
5.7 类的继承 191
5.7.1 继承的特点 191
5.7.2 重写父类的方法 193
5.7.3 super关键字 194
5.8 多态 197
5.8.1 多态性 197
5.8.2 指针变量的强制类型转换 200
5.8.3 判断指针变量的实际类型 201
5.9 本章小结 202
第6章 面向对象(下) 203
6.1 Objective-C的包装类 204
6.1.1 它们不是包装类 204
6.1.2 NSValue和NSNumber 205
6.2 处理对象 206
6.2.1 打印对象和description方法 206
6.2.2 ==和isEqual:方法 208
6.3 类别与扩展 212
6.3.1 类别(category) 213
6.3.2 利用类别对类进行模块化设计 215
6.3.3 使用类别来调用私有方法 215
6.3.4 扩展(extension) 217
6.4 协议(protocol)与委托 219
6.4.1 规范、协议与接口 219
6.4.2 使用类别实现非正式协议 220
6.4.3 正式协议的定义 221
6.4.4 遵守(实现)协议 222
6.4.5 协议与委托(delegate) 225
6.5 使用@try处理异常 228
6.5.1 使用@try...@catch...@finally捕获异常 229
6.5.2 访问异常信息 231
6.5.3 使用@finally回收资源 232
6.5.4 抛出异常与自定义异常类 233
6.6 Objective-C反射机制 235
6.6.1 获得Class 235
6.6.2 检查继承关系 236
6.6.3 动态调用方法 237
6.7 手动内存管理 241
6.7.1 对象的引用计数 242
6.7.2 对象所属权 245
6.7.3 方法中的保留和释放 247
6.7.4 使用自动释放池 248
6.7.5 自动释放池的销毁时机与工作过程 250
6.7.6 临时对象与事件循环中的自动释放池 251
6.7.7 手动内存管理的规则总结 252
6.8 自动引用计数 253
6.8.1 自动引用计数概述 253
6.8.2 @autoreleasepool块 254
6.8.3 使用弱引用解决强引用循环 255
6.9 本章小结 258
第7章 Foundation框架详解 259
7.1 字符串(NSString与NSMutableString) 260
7.1.1 创建字符串 260
7.1.2 NSString的常用功能 261
7.1.3 可变字符串(NSMutableString) 262
7.2 日期与时间 263
7.2.1 日期与时间(NSDate) 264
7.2.2 日期格式器(NSDateFormatter) 265
7.2.3 日历(NSCalendar)与日期组
前言
移动互联网热潮在全世界引起了巨大反响,移动互联网正在改变着传统互联网的格局,全世界的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
这本书我真是太喜欢了!当初在书店里翻到它,就被它深深吸引了。封面设计简洁大气,虽然名字听起来有点“疯狂”,但内容却相当扎实。我一直对iOS开发很感兴趣,但总觉得入门门槛有点高,看了很多资料都云里雾里的。这本书的语言风格非常亲切,就像一个经验丰富的老师在手把手教你一样,一点也不枯燥。作者在讲解基础概念时,总是能用非常形象的比喻,让我一下子就理解了那些抽象的术语。比如,讲到Objective-C的内存管理,他用了一个很生动的“管家”来比喻引用计数,瞬间就豁然开朗。而且,书中的代码示例都非常实用,不是那种脱离实际的“玩具代码”,而是真正能够解决实际问题的例子。我跟着书里的例子敲了一遍又一遍,感觉自己的编程逻辑清晰了很多。特别是光盘里的资源,简直是锦上添花,里面有详细的视频讲解和配套的代码,对于我这种视频学习者来说,简直是福音。我经常一边看视频,一边跟着书本敲代码,效率特别高。感觉这本书不仅教会了我“怎么做”,更重要的是教会了我“为什么这么做”,培养了我独立解决问题的能力。
评分这本书真的是一次非常愉快的学习体验。我是一个编程新手,之前几乎没有接触过任何编程。但是,这本书的作者用非常通俗易懂的语言,把复杂的iOS开发概念讲得浅显易懂。我最开始担心自己会跟不上,但事实证明我的担心是多余的。书中的讲解就像是在跟我聊天一样,非常轻松愉快。我特别喜欢作者在讲解过程中穿插的那些生活中的例子,让我能够把抽象的编程概念和现实世界联系起来,记忆也更加深刻。例如,在解释类和对象的时候,作者用“手机”和“具体的一部iPhone”来做类比,一下子就让我明白了。光盘里的视频也帮了我大忙,有些文字描述可能比较晦涩,但通过视频演示,我能够更直观地看到代码的运行过程和界面的变化,学习效率大大提高。这本书让我觉得iOS开发不再是遥不可及的,而是我可以通过努力掌握的技能。
评分说实话,我买这本书的时候,并没有抱太大的期望,只是觉得价格合适,内容看起来还行。但拿到手之后,惊喜真的接踵而至。这本书的内容组织得非常有条理,从最基础的概念讲起,循序渐进,一点点地深入。我之前学过一些其他编程语言,但iOS开发确实是第一次接触。这本书的作者非常注重细节,对于每一个知识点的讲解都力求清晰透彻。比如,在讲解UI界面布局的时候,他详细地介绍了Auto Layout的各种约束方式,并给出了很多实际的布局场景,让我能够快速掌握如何做出适应不同屏幕尺寸的界面。而且,书中还穿插了一些iOS开发的“小贴士”和“陷阱”,这些都是在其他地方很难找到的宝贵经验,能够帮助我避免走很多弯路。最让我印象深刻的是,书中对于一些复杂概念的处理非常巧妙,不会一下子抛出太多信息,而是通过分解、举例,让读者能够逐步消化。虽然我还没有完全学完,但已经感觉收获满满,对iOS开发有了更深的理解和信心。
评分我是一名已经从事了一段时间iOS开发的开发者,抱着学习更扎实基础的心态购买了这本书。事实证明,这是一个非常明智的选择。这本书虽然名为“基础篇”,但内容深度远超我的预期。作者对iOS开发核心原理的剖析非常到位,无论是Cocoa Touch框架的演进,还是Runtime机制的深入讲解,都展现了作者深厚的功底。我尤其欣赏作者在讲解过程中展现出的严谨性,每一个概念的提出都有理论依据,每一个代码的实现都有设计思路。书中对于一些经典的面试题和常见问题的解答,也给了我很多启发。光盘里的资源非常丰富,其中的一些进阶案例分析,让我对某些知识点有了更深刻的理解。虽然我不是初学者,但依然从这本书中获得了宝贵的知识和新的视角,对于巩固和提升我的iOS开发技能非常有帮助。
评分这本书给我带来的惊喜绝对是超出预期的。作为一名完全零基础的初学者,我之前尝试过一些其他的学习资源,但都因为各种原因半途而废。这本书的出现,彻底改变了我的看法。作者的写作风格非常独特,他不仅仅是教你写代码,更是引导你思考,培养你成为一名优秀的开发者。书中对于开发流程的介绍,对于项目结构的分析,都非常有条理,让我知道如何系统地进行开发。我特别喜欢书中对于“为什么”的解答,而不是仅仅告诉你“怎么做”。比如,在解释MVC设计模式时,作者详细分析了它诞生的背景和解决的问题,让我能够真正理解其精髓。光盘里的内容也是相当给力,不仅有详细的代码演示,还有一些学习方法和职业规划的建议,对于我这样想要进入IT行业的新人来说,简直是宝藏。我感觉这本书不仅仅是一本技术书籍,更是一本能够陪伴我成长的导师。
评分还不错的书,好好修炼哈哈
评分快递不好还是包装不好,反正皱了,不开心,好厚呀
评分书的质量可以,印刷也很清晰,很厚。正在努力学习。
评分一次性买了很多东西,基本还是很满意的,双十一各种互
评分不错,值得购买,信任京东
评分一次性买了很多东西,基本还是很满意的,双十一各种互
评分好评黑漆漆好评好评好害怕好评好评好评好评好怕怕好评好评好评好评哈哈哈碰碰胡
评分一次性买了很多东西,基本还是很满意的,双十一各种互
评分很信得过李刚的书,之前买的一本疯狂android讲义,感觉都很不错,还配有光盘,光盘里面学习资源很不错。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等,本站所有链接都为正版商品购买链接。
© 2025 windowsfront.com All Rights Reserved. 静流书站 版权所有