《Objective-C编程》讲述Objective-C编程语言和基本的iOS/Mac开发知识。作者首先从基本的编程概念讲起(变量、条件语句、循环结构等),接着用浅显易懂的语言讲解Objective-C和Foundation的知识,包括Objective-C的基本语法、 Foundation常用类 、内存管理、常用设计模式等,最后手把手教读者编写完整的、基于事件驱动的iOS/Mac应用。作者还穿插介绍了Objetive-C的高级内容,包括属性、范畴和Block对象等知识。全书篇幅精炼,内容清晰,适合无编程经验的读者入门学习。
Big Nerd Ranch培训系列中文图书网站:http://www.iosprogrammingbook.com/
第1部分 入门 1
第1章 读者与本书 3
1.1 C与Objective-C 3
1.2 主要内容及阅读方式 4
1.3 程序员要走的道路 4
第2章 第一个程序 7
2.1 安装Apple开发工具软件 7
2.2 Xcode入门 7
2.3 从哪里开始编写代码 9
2.4 如何运行程序 13
2.5 程序是如何产生的 14
2.6 不要半途而废 15
第2部分 如何编程 17
第3章 变量与类型 19
3.1 类型 19
3.2 使用变量的程序 20
3.3 练习 22
第4章 if和else 23
4.1 布尔变量 24
4.2 else if 25
4.3 深入学习:条件运算符(三元运算符) 25
4.4 练习 26
第5章 函数 27
5.1 应该在何时使用函数 27
5.2 如何编写并使用函数 27
5.3 函数间是如何协同工作的 30
5.4 局部变量、帧和栈 32
5.5 递归 34
5.6 通过调试器查看帧 35
5.7 return 37
5.8 全局变量与静态变量 39
5.9 练习 40
第6章 数字 41
6.1 printf() 41
6.2 整数 42
6.3 浮点数 46
6.4 练习 47
第7章 循环 49
7.1 while循环 49
7.2 for循环 50
7.3 break 51
7.4 continue 52
7.5 do-while循环 53
7.6 练习 54
第8章 地址与指针 55
8.1 获取地址 55
8.2 用指针保存地址 56
8.3 通过地址访问数据 57
8.4 不同类型的数据所占用的字节大小 57
8.5 NULL 58
8.6 指针声明的代码规范 59
8.7 练习 59
第9章 通过引用传递 61
9.1 编写通过引用传递参数的函数 62
9.2 不要对NULL取值 64
第10章 结构 65
10.1 练习 66
第11章 堆 69
第3部分 Objective-C与Foundation 73
第12章 对象 75
12.1 创建并使用对象 75
12.2 消息详解 77
12.3 内存中的对象 79
12.4 id 79
12.5 练习 80
第13章 再谈消息 81
13.1 消息的嵌套发送 81
13.2 多个实参 82
13.3 向nil发送消息 82
13.4 练习 83
第14章 NSString 85
14.1 练习 86
第15章 NSArray 87
15.1 NSMutableArray 89
15.2 练习 90
第16章 开发文档 93
16.1 参考页 94
16.2 快速帮助 96
16.3 其他文档功能和开发资源 98
第17章 第一个自定义类 101
17.1 存取方法 103
17.2 用点号调用存取方法 104
17.2 属性 105
17.4 self 106
17.5 多个实现文件 106
17.6 练习 106
第18章 继承 109
18.1 覆盖方法 112
18.2 super 113
18.3 练习 113
第19章 对象实例变量 115
19.1 对象所有权与ARC 117
19.2 练习 123
第20章 避免内存泄露 125
20.1 Retain循环 127
20.2 弱引用 129
20.3 弱引用的自动置零特性 130
20.4 深入学习:手动引用计数和ARC历史 131
第21章 Collection类 135
21.1 NSArray/NSMutableArray 135
21.2 NSSet/NSMutableSet 138
21.3 NSDictionary/NSMutableDictionary 140
21.4 C语言基本类型 142
21.5 Collection对象与nil 142
21.6 练习 143
第22章 常量 145
22.1 预处理指令 145
22.2 #include与#import 146
22.3 #define 146
22.4 全局变量 147
22.5 比较#define与全局变量 149
第23章 通过NSString和NSData将数据写入文件 151
23.1 将NSString对象写入文件 151
23.2 NSError 152
23.3 通过NSString读取文件 153
23.4 将NSData对象所保存的数据写入文件 154
23.5 从文件读取数据并存入NSData对象 155
第24章 回调 157
24.1 目标-动作对 157
24.2 辅助对象 160
24.3 通告 163
24.4 如何选择 164
24.5 回调与对象所有权 164
第25章 协议 167
第26章 Property List格式 171
26.1 练习 173
第4部分 由事件驱动的应用 175
第27章 第一个iOS应用 177
27.1 创建iTahDoodle 177
27.2 BNRAppDelegate 179
27.3 添加C语言辅助函数 180
27.4 iTahDoodle中的对象 181
27.5 Model-View-Controller 182
27.6 应用委托对象 183
27.7 设置视图 184
27.8 为UITableView对象提供数据 186
27.9 添加新任务 189
27.10 深入学习:main()的作用 190
第28章 第一个Cocoa应用 191
28.1 编辑BNRDocument.h 192
28.2 Interface Builder初探 193
28.3 编辑BNRDocument.xib 194
28.4 创建关联 198
28.5 再探MVC 202
28.6 编辑BNRDocument.m 202
28.7 练习 204
第5部分 Objective-C高级主题 205
第29章 init 207
29.1 编写init方法 207
29.2 实现基本的init方法 208
29.3 在init中使用存取方法 209
29.4 带实参的init方法 210
29.5 禁用init方法 215
第30章 属性 217
30.1 属性的特性 218
30.2 KVC 221
第31章 范畴 225
第32章 Block对象 227
32.1 定义Block对象 227
32.2 使用Block对象 228
32.3 typedef 233
32.4 返回值 233
32.5 内存管理 234
32.6 基于Block的编程是大势所趋 235
32.7 练习 235
第6部分 C语言高级主题 237
第33章 位运算 239
33.1 按位或 240
33.2 按位与 241
33.3 其他位运算符 242
33.4 用enum定义位掩码 245
33.5 占用更多字节的整数类型 245
33.6 练习 245
第34章 C字符串 247
34.1 char 247
34.2 char * 248
34.3 string literal 250
34.4 C字符串和NSString对象的相互转换 251
34.5 练习 252
第35章 C数组 253
第36章 命令行参数 257
第37章 switch语句 261
结束语 263
索引 265
《信号与系统例题分析》共分7章,涵盖了信号及其基本运算、连续与离散时间系统的时域分析、傅里叶变换、离散时间傅里叶变换、傅里
《智能教育:让孩子站在人工智能的肩膀上适应未来》内容简介:人工智能等新技术正在悄然改变着教育行业的方方面面,如何应对人工智
2008年过去了,有多少人会觉得念念不忘,又有多少人会想着尽早翻过日历?在经历过无数大喜大悲之后,谁可以只用一种表情概括这一
《互联网没有记忆》内容简介:写在泥板、石碑、莎草纸、手抄本上的记忆可以保存数千年。写在网络上的记忆平均存在的时长只有100天。
《从零开始学PHP》是关于PHP的入门教程。PHP作为一种被广泛应用的Web语言,由于其自身的优秀特性,已经有越来越多的网站采用PHP技
《Altium Designer PCB设计官方指南:基础应用》内容简介:本书是一部系统论述Altium Designer 20 PCB基础设计的实战教程(含实...
KenAulettahaswrittenthe"AnnalsofCommunications"columnforTheNewYorkersince1992.He...
《中国经学史十讲》内容简介:“经”原先只是指代一种纺织工艺,在漫漫历史长河中,其逐渐变成了唯指孔子亲授的儒家五经的专称。朱
Visual Basic电子商务项目方案精解 内容简介 Visral Basic是数据开发的有用工具,在企业信息管理系统开发中具有广泛的使用。本书以几个典型实例...
《政府2.0:新常态下的政府治理创新》内容简介:国家治理体系和治理能力现代化的关键在于政府治理创新。在经济新常态下,政府能否通
《OpenStack高可用集群(下册)》内容简介:本书从OpenStack终端用户的角色出发,以面向生产系统的OpenStack高可用集群建设为主线,
Theclassic,landmarkworkonsoftwaretestingThehardwareandsoftwareofcomputinghavecha...
《ECMAScript6入门》全面介绍了ECMAScript6新引入的语法特性,覆盖了ECMAScript6与ECMAScript5的所有不同之处,对涉及的语法...
《Go语言学习指南:惯例模式与编程实践》内容简介:本书Go语言正在迅速成为构建Web服务的优选语言。本书很好地阐述了Go语言的特性,
《锋利的jQuery》循序渐进地对jQuery的各种函数和方法调用进行了介绍,读者可以系统地掌握jQuery的DOM操作、事件监听和动画、表单
ThankstoimprovedwebbrowsersupportandtheadventofHTML5,JavaScriptnowplaysamajorrol...
《JavaWeb开发与实战》为您呈现的是“图书详解+多媒体视频+网站技术支持”三位一体式学习环境。图书详解:《JavaWeb开发与实战》
《内容电商运营》内容简介:如今,越来越多的人投身到内容电商运营工作中,并取得了可喜的成绩,如“罗辑思维”“凯叔讲故事”“小
数据结构(C语言版)(配光盘) 本书特色 《清华大学计算机系列教材:数据结构(C语言版)》可作为计算机类专业或信息类相关专业的本科或专科教材,也可供从事计算机工...
作者简介ZuradaistheS.T.FifeAlumniProfessorofElectricalEngineeringattheUniversityofLo...