词条 | Obejctive-C 2.0 Mac和iOS开发实践指南 |
释义 | 基本信息原书名: Learning Objective-C 2.0: A Hands-On Guide to Objective-C for Mac and iOS Developers 原出版社: Addison-Wesley Professional 作者: (美)Robert Clair [作译者介绍] 译者: 李强 出版社:机械工业出版社 ISBN:9787111329275 上架时间:2011-3-7 出版日期:2011 年2月 开本:16开 页码:283 版次:1-1 内容简介《obejctive-c 2.0 mac和ios开发实践指南》专门为那些想要学习objective-c以便为mac os x或ios编写程序的程序员量身打造。本书分为四部分。第一部分介绍学习objective-c编程所需的c语言基础知识。第二部分介绍objective-c编程的核心知识,包括消息机制、类和对象、类对象等。第三部分介绍objective-c中的高级概念,包括引用计数、垃圾收集和objective-c 2.0的新功能块。第四部分提供了objective-c程序员常用的信息和资料。本书大多数章末都提供了练习,读者可以通过练习巩固在书中学到的知识。 《obejctive-c 2.0 mac和ios开发实践指南》内容精练、可读性强、易于学习,侧重通过示例来介绍知识点和概念,是一本学习objective-c 2.0不可多得的入门实践指南。本书适合想要学习objective-c 2.0编程语言的初、中级程序员阅读,也可以作为社会培训机构的入门级培训教辅材料。 目录对本书的赞誉 译者序 前言 致谢 第一部分 objective-c简介 第1章 c,objective-c的基础 2 1.1 c程序的结构 3 1.1.1 main函数 3 1.1.2 格式化 3 1.1.3 注释 4 1.1.4 变量和函数名 4 1.1.5 命名惯例 5 1.1.6 文件 5 1.2 变量 6 1.2.1 整数类型 6 1.2.2 浮点类型 7 1.2.3 真值 7 1.2.4 初始化 7 1.2.5 指针 8 1.2.6 数组 9 .1.2.7 字符串 10 1.2.8 结构 10 1.2.9 typedef 12 1.2.10 枚举常量 12 1.3 运算符 12 1.3.1 算术运算符 12 1.3.2 余数运算符 13 1.3.3 自增和自减运算符 13 1.3.4 优先级 13 1.3.5 取反 14 1.3.6 比较 14 1.3.7 逻辑运算符 14 1.3.8 逻辑取反 15 1.3.9 赋值运算符 15 1.3.10 转换和强制类型转换 16 1.3.11 其他赋值运算符 16 1.4 表达式和语句 17 1.4.1 表达式 17 1.4.2 计算表达式 17 1.4.3 语句 18 1.4.4 复合语句 18 1.5 程序流程 18 1.5.1 if 18 1.5.2 条件表达式 19 1.5.3 while 20 1.5.4 do-while 20 1.5.5 for 20 1.5.6 break 21 1.5.7 continue 22 1.5.8 逗号表达式 22 1.5.9 switch 22 1.5.10 goto 23 1.5.11 函数 24 1.5.12 声明函数 25 1.6 预处理器 26 1.6.1 包含文件 26 1.6.2 #define 26 1.6.3 条件编译 27 1.7 printf 28 1.8 使用gcc和gdb 29 1.9 小结 30 1.10 练习 30 第2章 c变量 33 2.1 objective-c程序的内存布局 33 2.2 自动变量 34 2.3 外部变量 35 2.4 声明关键字 35 2.4.1 auto 35 2.4.2 extern 36 2.4.3 static 36 2.4.4 register 37 2.4.5 const 37 2.4.6 volatile 37 2.5 作用域 38 2.5.1 自动变量的作用域 38 2.5.2 复合语句和作用域 38 2.5.3 外部变量的作用域 39 2.6 动态分配 39 2.7 小结 41 2.8 练习 42 第3章 面向对象编程简介 43 3.1 面向对象编程 43 3.1.1 类和实例 43 3.1.2 方法 44 3.1.3 封装 44 3.1.4 继承 44 3.1.5 多态 45 3.1.6 面向对象语言的主要特点是什么 45 3.2 objective-c简介 45 3.2.1 定义类 46 3.2.2 类名作为类型 48 3.2.3 消息(调用方法) 48 3.2.4 类对象和对象创建 50 3.2.5 内存管理 51 3.3 objective-c添加 51 3.3.1 运行时 51 3.3.2 名称 52 3.3.3 消息表达式 52 3.3.4 编译器指令 52 3.3.5 直接量字符串 52 3.3.6 objective-c关键字 53 3.3.7 cocoa数字类型 55 3.4 小结 56 第4章 第一个objective-c程序 57 4.1 使用xcode构建 57 4.2 objective-c程序结构 59 4.3 面向对象的hello world 61 4.3.1 greeter.h 63 4.3.2 greeter.m 65 4.4 helloobjectivec.m 68 4.5 小结 69 4.6 练习 70 第二部分 语言基础 第5章 消息 72 5.1 方法 72 5.1.1 一个简单的方法 72 5.1.2 带有参数的方法 73 5.2 消息 74 5.3 消息细节 76 5.3.1 嵌套 76 5.3.2 向nil发送消息 77 5.3.3 向self发送消息 78 5.3.4 覆盖并向super发送消息 78 5.3.5 选择器 80 5.3.6 具有相同名称的方法 81 5.3.7 动态类型和静态类型 82 5.4 幕后工作 83 5.5 消息转发 84 5.6 效率 85 5.7 内省和其他运行时乐趣 87 5.8 小结 88 5.9 练习 88 第6章 类和对象 90 6.1 定义类 90 6.1.1 接口部分 90 6.1.2 @class指令 91 6.1.3 实现部分 92 6.1.4 导入 92 6.2 子类化一个类 93 6.2.1 定义一个子类 93 6.2.2 子类示例 94 6.2.3 类继承 97 6.2.4 类层级示例 97 6.2.5 抽象类 98 6.3 创建对象 99 6.3.1 对象分配 99 6.3.2 对象初始化 100 6.4 销毁对象 106 6.5 复制对象 107 6.5.1 浅复制和深复制 108 6.5.2 可变复制和不可变复制 108 6.5.3 在自己的类中实现复制 109 6.6 小结 111 6.7 练习 112 第7章 类对象 113 7.1 类对象 113 7.1.1 类类型 114 7.1.2 类方法 115 7.2 其他类方法 116 7.2.1 简便构造函数 116 7.2.2 单体 118 7.2.3 初始化类 118 7.3 模拟类变量 120 7.4 小结 124 7.5 练习 125 第8章 框架 127 8.1 什么是框架 127 8.2 cocoa框架 128 8.3 appkit 129 8.4 core foundation 130 8.4.1 core foundation对象的内存管理 131 8.4.2 自由转换 132 8.5 core graphics 133 8.6 core animation 133 8.7 其他apple提供的框架 134 8.8 第三方框架 134 8.9 幕后揭秘 135 8.10 小结 135 第9章 常用foundation类 136 9.1 可变类和不可变类 136 9.2 类簇 136 9.3 nsstring 137 9.3.1 nsstring示例 138 9.3.2 c字符串和nsstring之间的转换 140 9.3.3 直接量字符串 141 9.4 集合类 141 9.4.1 nsarray 141 9.4.2 nsdictionary 144 9.4.3 nsset 145 9.5 nsnumber 146 9.6 nsnull 147 9.7 nsdata 148 9.7.1 访问nsdata的字节 149 9.7.2 文件和nsdata之间的转换 149 9.8 nsurl 149 9.9 结构 150 9.10 小结 151 9.11 练习 151 第10章 objective-c中的控制结构 153 10.1 if语句 153 10.2 for语句和隐式循环 156 10.2.1 for语句 156 10.2.2 隐式循环 156 10.2.3 带有块的隐式循环 157 10.3 while语句和nsenumerator 157 10.4 快速枚举 159 10.5 一个使用快速枚举的示例 161 10.6 异常 164 10.6.1 抛出自己的异常 165 10.6.2 多个@catch语句块 166 10.6.3 嵌套异常处理 167 10.6.4 使用异常 168 10.6.5 应该使用异常吗 168 10.7 小结 170 10.8 练习 170 第11章 分类、扩展和安全 172 11.1 分类 172 11.1.1 使用分类覆盖方法 174 11.1.2 分类的其他用法 175 11.2 扩展 176 11.3 实例变量作用域(访问控制) 177 11.4 对方法的访问控制 178 11.5 命名空间 179 11.6 安全 179 11.7 从objective-c调用c函数 181 11.7.1 技术上 181 11.7.2 实践上 182 11.7.3 哲学上 182 11.8 小结 182 11.9 练习 182 第12章 特性 184 12.1 在对象之外访问实例变量(不要这么做) 184 12.2 声明和实现访问器 185 12.3 使用特性的访问器 187 12.4 @property语句 189 12.4.1 assign、retain和copy 189 12.4.2 readwrite和readonly 190 12.4.3 nonatomic 190 12.4.4 setter=nam和getter=name 191 12.4.5 attributes和@dynamic 191 12.5 关于@dynamic的更多内容 191 12.6 特性和内存管理 193 12.7 子类化和特性 194 12.8 对readonly特性隐藏setter 195 12.9 特性作为文档 195 12.10 点语法 196 12.10.1 点语法和特性 197 12.10.2 点语法和c结构 198 12.11 小结 199 12.12 练习 199 第13章 协议 201 13.1 协议 201 13.2 使用协议 202 13.2.1 声明一个协议 202 13.2.2 采用协议 203 13.2.3 协议作为类型 203 13.2.4 特性和协议 203 13.3 tableprinter示例 204 13.3.1 tableprinterdatasource 205 13.3.2 tableprinter 205 13.3.3 fruitbasket 207 13.3.4 main 209 13.3.5 一个问题 210 13.3.6 实现可选的方法 210 13.4 协议对象和一致性测试 211 13.5 非正式协议 212 13.6 小结 212 13.7 练习 213 第三部分 高级概念 第14章 引用计数 216 14.1 问题 216 14.2 引用计数 217 14.3 接受对象 219 14.4 所有权 221 14.5 dealloc 222 14.6 返回对象 223 14.6.1 autorelease 224 14.6.2 自动释放池 224 14.6.3 管理自动释放池 225 14.6.4 回顾简便构造函数 226 14.6.5 自动释放和iphone 226 14.6.6 使用额外的自动释放池来控制内存使用 226 14.7 retaincount 227 14.8 多线程 228 14.9 何时引用计数不好 229 14.10 保留循环 230 14.11 最后说再见:曲终人散时 233 14.12 小结 233 14.13 练习 234 第15章 垃圾收集 236 15.1 垃圾收集:理论 236 15.2 垃圾收集:实践 237 15.3 使用垃圾收集器 238 15.4 终结器 240 15.5 malloc和垃圾收集 241 15.6 core foundation对象和垃圾收集 241 15.7 过程中的一些难点 242 15.7.1 appkit中的透明指针问题 242 15.7.2 内部指针 245 15.7.3 错误的根对象 246 15.8 垃圾收集的优点和缺点 246 15.8.1 积极方面 246 15.8.2 消极方面 246 15.8.3 应该使用垃圾收集吗 246 15.9 小结 247 15.10 练习 247 第16章 块 251 16.1 函数指针 251 16.1.1 用函数指针调用一个函数 253 16.1.2 使用函数指针 253 16.2 使用函数指针的问题 255 16.3 nsinvocation 256 16.4 块 258 16.4.1 块指针 258 16.4.2 访问变量 259 16.4.3 块变量 261 16.4.4 块是基于栈的 261 16.4.5 全局块 262 16.4.6 块是objective-c对象 262 16.4.7 复制块 262 16.4.8 块的内存管理 263 16.4.9 陷阱 265 16.4.10 cocoa中的块 266 16.4.11 样式问题 269 16.5 一些原理上的限制 270 16.6 小结 270 16.7 练习 270 第四部分 附录 附录a 保留字和编译器指令 274 附录b 自由转换类 275 附录c 32位和64位 276 附录d 运行时,旧的和新的 279 附录e objective-c的资源 282 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。