《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
《外语能力标准的国别研究:加拿大与英国》内容简介:本书主要研究了英国和加拿大的语言能力标准。加拿大篇从语言能力标准的概述、
《2014年会计从业资格考试专用标准化辅导教材系列:会计基础》内容简介:《2014年会计从业资格考试专用标准化辅导教材系列:会计基
群智能算法及化工优化问题 内容简介 数学建模方法是研究化工过程的一种有效方法,由于化工过程影响因素多、波动大、反应机理复杂,因此,所建立的模型大多比较复杂,用传...
《七周七并发模型》内容简介:《七周七并发模型》介绍了七种并发模型,行文通俗易懂,有数量充足且设计精良的样例来帮助读者理解。
《爱与真的启示:张爱玲的晚期风格》内容简介:本书主要探讨了张爱玲的晚年生活及其创作体现的“晚期风格”。借助萨义德“晚期风格
WebNavigation:DesigningtheUserExperienceoffersthefirstindepthlookatdesigningwebs...
《哲学的中国本土化叙事》内容简介:《哲学的中国本土化叙事》怀着一种积极而开放的情怀探索并追寻本土化的“中国哲学”。“中国哲
Excel2007表格制作图解步步通 本书特色 以全程图解方式介绍excel 2007软件的基础功能与典型应用。以步骤演示的方式引导读者完成表格制作、数据处理和...
《产品第一品牌第二》明确提出了“产品第一,品牌第二”的观点。《产品第一品牌第二》深入浅出地阐明了产品与品牌之间的关系,从
本书系统地介绍了数据通信和计算机网络领域的基本内容。在第一版的基础上,修改和增加了新的内容,包括无线和卫星通信、有线电视
《大话西方艺术史》内容简介:本书用浅白风趣的语言和逻辑清晰的脉络,梳理了30000多年西方艺术史的精髓,帮助你迅速构建完整的艺术
《医学就会》内容简介:继《医本正经》之后,懒兔子又一本畅销榜首的漫画中医指南,一学就会的中医体系,手到擒来的中医入门知识。
ClojureisadynamicprogramminglanguagethattargetstheJavaVirtualMachine.TheJoyofClo...
iOS开发如日中天,iOS6又为我们带来了大量的高级特性,从事移动开发的你,还等什么?本书急开发者之所急,揭秘了多数开发类图书未
自从这本经典图书的第一版出版以来,网络的应用呈爆炸之势,电子商务已经成了我们生活和工作的一部分。与此同时,对我们安全和隐
Erlangisthelanguageofchoiceforprogrammerswhowanttowriterobust,concurrentapplicat...
《人工智能不会做什么》内容简介:人工智能的开发面临哪些课题?它们与人类有哪些本质上的差异? 随着人工智能围棋程序AlphaGo打败
本书采用问答的形式,为CSS使用过程中一些有价值的经典问题提供了精彩的实践解决方案。本书内容包括文本样式、CSS图像、导航、表
JavaScript曾是“世界上最被误解的语言”,因为它担负太多的特性,包括糟糕的交互和失败的设计,但随着Ajax的到来,JavaScript“
作者从人生经历的角度入手,把女性从少女到成年,从成年到成为母亲、祖母等所要经历的各个重要的人生阶段融入到内衣的发展之中去