《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
本书根据最新的2.6.24内核为基础。在讲述方式上,本书注重实例分析,尽量在讨论“如何做”的基础上,深入讨论为什么要这么做,从
《先行者:未来新经济的探索》内容简介:本书探讨了新经济在成都的前世今生。通过跟70+创业者、企业高管、投资人、科研工作者对话,
CADCAMCAE工程应用丛书ANSYS Fluent流体计算从入门到精通(2020版) 本书特色 适读人群 :适合广大Fluent初、中级读者学习使用;也可作...
《设计元素》是一本供学生和设计者学习的参考书。作为一本设计的启蒙读物,它包含了制作各种简单形体及创造复杂方法去解决困难的
《中国海洋油气开发装备研发史》内容简介:本书是“中国船舶研发史”丛书之一,主要介绍了我国典型海洋油气开发装备的研发背景、设
RubyonRailsisthesuper-productivenewwaytodevelopfull-featuredwebapplications.With...
AutoCAD建筑绘图与实训 内容简介 本书内容包括:计算机绘图基础知识、AutoCAD的基本操作、AutoCAD的二维绘图常用命令、AutoCAD的三维绘图简...
《版权法对技术措施的保护与规制研究》内容简介:本书探讨了版权法保护与规制技术措施的诸问题。包括版权法中技术措施的概念、分类
本书是一本讲解Web应用中最常见的安全风险以及解决方案的实用教材。它以当今公认的安全权威机构OWASP(OpenWebApplicationSecuri
ADAMS入门详解与实例-第2版-(含光盘) 本书特色 李增刚编著的《adams入门详解与实例(附光盘第 2版)》以adams 2013版为基础,主要介绍如何在...
《子义手抄报》内容简介:这是一本指导学生制作黑板报和手抄报的工具书。这本书里的画风清丽,为学生提供了丰富的版式设计和内容选
编辑推荐为什么只因为客户将某个项目交给了设计师,后者就应该为相关信息大声吆喝呢?这种理由是站不住脚的。所以,倒还不如说,设
《启蒙·生意·政治:开明书店史论(1926—1953)》内容简介:《启蒙·生意·政治:开明书店史论(1926—1953)》作为首部开明书店
改变未来的九大算法 本书特色 google得出的搜索结果是如何产生的? 百度为何会陷入“搜索门”,又是什么机制使然?身处在大数据时代...
《基于无线自组网的应急通信技术》内容简介:应急通信是为应对自然灾害或公共突发事件而提供的特殊通信机制和手段。本书以突发紧急
《Kotlin编程实践》内容简介:本书的重点不仅在于讲解Kotlin的语法与语义,还将展示何时以及为何应该使用某个指定的语言特性。本书
《矛与盾:黑客攻防命令大曝光》内容简介:《矛与盾:黑客攻防命令大曝光》紧紧围绕黑客命令与实际应用展开,在剖析黑客入侵中用户
《资本主义民主的批判与反思》内容简介:本书集中收入了国外马克思主义者对民主问题的研究动态,并进行了理论上的探讨和分析。关于
《无师自通学工笔:鱼》内容简介:本书是一本以鱼为主讲的工笔画技法书。本书主要针对零基础的读者,由浅入深地讲解:首先详细介绍
《国际顶尖插画艺术家的创造力x商业力》内容简介:艺术与商业日渐和谐,划分高尚艺术与流行文化的分界线逐渐模糊,艺术家的身份也