《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
Iamstilluncertainwhichsurprisedmemore,thetelegramcallingmyattentiontotheadvertis...
Weallwantpeopletodostuff.Whetheryouwantyourcustomerstobuyfromyou,vendorstogiveyo...
电子战是一个十分广袤的领域,从事的是从直流到可见光的电磁频谱的战斗。这就意味着电子战建模与仿真领域也是一样的广袤。为了把
《基于深度学习的自然语言处理》内容简介:将深度学习方法应用于各种自然语言处理任务,可以让你的算法在速度和准确性方面提升到一
《AI+医疗健康:智能化医疗健康的应用与未来》内容简介:随着新一轮科技革命的到来,人工智能、大数据等技术对医疗健康领域产生了巨
CrossSiteScriptingAttacksstartsbydefiningthetermsandlayingoutthegroundwork.Itass...
《逍遥游:当《庄子》遭遇现实》内容简介:中国当代思想隐士熊逸,中国思想史系列;如果你渴望洒脱自由的人生,就应该拥有这本书。
《新技术 新业态:进化中的监管科技及其应用》内容简介:本书介绍了监管科技的起源和技术框架,对国外金融发达经济体监管科技的发展
ExceptionalC++Style(英文版) 内容简介 所谓Style就是在开销和功能、优雅和可维护性、灵活性和过度设计之间求得平衡。本书帮助你在C++软件...
《机器学习实战:模型构建与应用》内容简介:本书主要包括两部分。第1部分(第1章-第11章)讲解了如何使用TensorFlow来创建不同应用
《艺术设计概论》在中国,“设计”(DESIGN)这个词,从一个专业涧汇变成一个社会上非常流行和时尚的语词,也就是时间进入21世纪之
本书不仅描述了IMS域的体系结构,而且通过实例深入浅出地对IMS的关键概念、主要过程以及典型业务进行了剖析。本书内容远远超越了
《基于神经网络的智能诊断》共8篇,内容涉及神经网络智能诊断的产生、发展、现状与动向,复杂系统智能诊断问题的概念和策略;基于
PostgreSQL是目前广泛应用的开源数据库管理系统。本书从PostgreSQL数据库的源代码入手,深入分析了该数据库管理系统的底层实现细
《先秦学术概论》内容简介:本书纵论先秦学术,首先鸟瞰先秦各学派的源流和相互关系,其次对道、儒、法、名、墨、阴阳、纵横、兵、
物联网技术概论 本书特色 彭力编著的《物联网技术概论》围绕20多个核心知识点,分为10章展开教学和物联网技术学习之旅。第1章概要介绍物联网的相关知识点,...
WebDesignInspirationataGlanceVolume2ofTheWebDesignersIdeaBookincludesmorethan650...
《纳兰词集》内容简介:清代词坛中兴,名家辈出,其中以纳兰性德最引人注目,国学大师王国维赞其“北宋以来,一人而已”。纳兰词以
《一个APP的诞生》内容简介:在移动互联网高度发达的今天,一个个APP,成为我们通向网络世界的窗口。它的诞生流程,令不少对互联网
《硬派健身:100卡美食》内容简介:100卡能吃什么?——麻辣小龙虾可以有!水煮肉可以有!奶茶也可以有!科学阐述减肥路上关于吃的