精通Objective-Ctxt,chm,pdf,epub,mobi下载 作者:[美] Keith Lee 出版社: 人民邮电出版社 原作名: Pro Objective-C 译者:苏宝龙 出版年: 2015-1 页数: 368 定价: 79.00元 装帧: 平装 ISBN: 9787115378842 内容简介 · · · · · ·本书全面深入地介绍了使用Objective-C进行面向对象的软件开发方法,包括Objective-C运行时环境和重要的API,以及一些比较复杂的特性,并适时地穿插了一些有助于提高Objective-C编程效率的技巧。如果你已经具备一定Objective-C的基础知识,或者拥有C语言编程经验,本书就是一本可带你登堂入室的最合适的进阶指南。 作者简介 · · · · · ·Keith Lee 资深苹果产品和软件开发专家。拥有二十多年的开发经验,主要从事移动设备、台式机和服务器端软件系统的设计和实现。当前的主攻方向是OS X和iOS平台以及新编程语言的软件开发。Keith Lee还是一位知名的作曲家,他的作品已被传播到多个国家。他与妻子和女儿居住在加利福尼亚,读者可通过ProObjectiveC@icloud.com与他联系。 目录 · · · · · ·第1章 入门 11.1 简介 1.1.1 苹果公司的Objective-C平台 1 1.1.2 选择Objective-C的原因 2 1.2 开发一个简单的Objective-C程序 3 1.2.1 新建工程 3 · · · · · ·() 第1章 入门 1 1.1 简介 1.1.1 苹果公司的Objective-C平台 1 1.1.2 选择Objective-C的原因 2 1.2 开发一个简单的Objective-C程序 3 1.2.1 新建工程 3 1.2.2 编写第一个Objective-C程序 7 1.3 小结 9 第2章 使用类 10 2.1 开发第一个类 10 2.1.1 向项目中添加一个类 10 2.1.2 编写Atom类的接口 12 2.1.3 编写实现Atom类的代码 13 2.2 实例变量 15 2.2.1 设置访问实例变量的方式 16 2.2.2 声明实例变量 16 2.2.3 访问实例变量 17 2.3 属性 17 2.3.1 属性声明 17 2.3.2 属性定义 18 2.3.3 由属性支持的实例变量 19 2.3.4 访问属性 19 2.4 方法 20 2.4.1 语法 20 2.4.2 调用方法 21 2.5 协议 21 2.6 分类 24 2.7 小结 27 第3章 对象和消息传递 28 3.1 创建对象 28 3.1.1 初始化对象 29 3.1.2 延伸Elements工程 30 3.2 发送消息 35 3.3 消息转发 36 3.3.1 转发选项 37 3.3.2 向Hydrogen类添加快速转发机制 3 3.4 小结 41 第4章 内存管理 43 4.1 程序的内存使用情况 43 4.2 Objective-C的内存模型 45 4.3 手动管理 45 4.3.1 对象引用和对象所有权 45 4.3.2 内存管理基本原则 45 4.3.3 使用MRR 48 4.4 使用自动引用计数 54 4.4.1 使用ARC的规则和约定 55 4.4.2 ARC的生命周期限定符 56 4.4.3 使用ARC 56 4.4.4 避免循环引用 60 4.5 小结 60 第5章 预处理器 62 5.1 概述 62 5.2 预处理器语言 63 5.2.1 指令 64 5.2.2 宏 71 5.3 小结 72 第6章 专家级技巧:使用ARC 74 6.1 ARC和对象所有权 74 6.1.1 声明对象的所有权 74 6.1.2 释放对象的所有权 75 6.2 扩展订单条目工程 76 6.3 将ARC与苹果公司提供的框架和服务一同使用 82 6.4 Objective-C直接桥接 83 6.5 使用ARC桥接转换 85 6.6 小结 89 第7章 运行时系统 90 7.1 动态功能 90 7.2 对象消息 90 7.2.1 选择器 92 7.2.2 方法签名 93 7.2.3 使用对象消息 94 7.3 动态类型 100 7.4 动态绑定 101 7.5 动态方法决议 102 7.6 动态加载 104 7.7 内省 105 7.8 小结 106 第8章 运行时系统的结构 107 8.1 运行时系统的组成部分 107 8.1.1 编译器 107 8.1.2 运行时系统库 112 8.2 与运行时系统交互 120 8.2.1 NSObject类的运行时方法 121 8.2.2 执行对象内省 121 8.3 小结 123 第9章 专家级技巧:使用运行时系统API 125 9.1 使用可选包扩展程序 125 9.1.1 方法 125 9.1.2 步骤1:编写基础代码 125 9.1.3 步骤2:创建一个可选包 128 9.1.4 步骤3:动态加载包 132 9.2 使用运行时系统API 138 9.2.1 定义方法的实现函数 140 9.2.2 创建并注册类 140 9.2.3 创建类实例 141 9.2.4 以动态方式向类实例添加变量 141 9.3 创建动态代理 142 9.3.1 创建Invoker协议 143 9.3.2 编写代理类 144 9.3.3 测试AspectProxy程序 147 9.4 小结 149 第10章 Foundation框架中的常用类 150 10.1 根类 150 10.1.1 NSObject协议 150 10.1.2 NSObject类 151 10.1.3 NSProxy类 153 10.2 字符串 153 10.2.1 NSString类 154 10.2.2 NSAttributedString类 157 10.2.3 NSString常量 157 10.2.4 格式化字符串 157 10.3 值对象 158 10.3.1 NSValue类 158 10.3.2 NSNumber类 158 10.3.3 NSDecimalNumber类 159 10.3.4 NSNumber常量 159 10.3.5 对日期和时间的支持 160 10.3.6 NSCache类 160 10.4 集合 161 10.4.1 NSArray类 161 10.4.2 NSPointerArray类 162 10.4.3 NSDictionary类 162 10.4.4 NSMapTable类 163 10.4.5 NSSet类 163 10.4.6 NSCountedSet类 163 10.4.7 NSHashTable类 163 10.4.8 NSPointerFunctions类 164 10.5 XML处理类 164 10.5.1 XML的DTD处理类 164 10.5.2 基于树形结构的XML处理类 164 10.5.3 事件驱动的XML处理类 165 10.6 谓词类 165 10.7 小结 166 第11章 Foundation框架中的系统服务 167 11.1 网络服务 167 11.1.1 NSHost类 167 11.1.2 Bonjour网络服务 167 11.2 应用服务 168 11.3 正则表达式和文本处理 168 11.4 文件系统实用程序 169 11.4.1 应用程序包 169 11.4.2 文件管理 170 11.4.3 数据流的输入输出 170 11.4.4 元数据查询 171 11.5 并发机制和线程 171 11.5.1 线程管理 171 11.5.2 并行操作 172 11.5.3 锁定 173 11.5.4 计时器和运行循环 173 11.5.5 创建Bonjour网络服务客户端 174 11.6 URL处理 178 11.6.1 URL加载 178 11.6.2 缓存管理 180 11.6.3 使用URL加载API下载资源 180 11.6.4 身份认证和证书管理 185 11.6.5 Cookie管理 186 11.6.6 协议支持 186 11.7 进程间通信 186 11.7.1 通过信道通信 187 11.7.2 通过端口通信 187 11.7.3 端口注册 187 11.8 小结 188 第12章 Foundation框架的专用服务 189 12.1 通知 189 12.2 归档和序列化 192 12.2.1 归档 192 12.2.2 属性列表序列化 193 12.2.3 归档对象图 195 12.3 分布式对象 204 12.4 脚本 205 12.5 小结 205 第13章 Foundation框架函数和数据类型 206 13.1 Foundation框架函数 206 13.1.1 断言 206 13.1.2 记录日志 209 13.1.3 包 209 13.1.4 十进制数值运算和字节排序 211 13.1.5 与运行时系统进行交互 214 13.1.6 文件路径 214 13.1.7 几何图形 215 13.2 数据类型 216 13.3 常数 216 13.4 小结 216 第14章 专家级技巧:错误处理 217 14.1 运行时错误情况 217 14.1.1 断言 217 14.1.2 错误编码 218 14.1.3 错误对象 218 14.1.4 异常 218 14.2 NSError类 218 14.2.1 使用错误对象 219 14.2.2 处理委托方法错误 221 14.2.3 通过间接方式创建错误对象 225 14.2.4 错误恢复 226 14.2.5 错误回应对象 227 14.2.6 NSError编码 227 14.3 异常处理 227 14.4 NSException类 228 14.4.1 异常和内存管理 229 14.4.2 执行异常处理 230 14.5 Foundation框架标准异常名称 232 14.6 错误处理指导原则 233 14.7 小结 234 第15章 块 235 15.1 块的语法 235 15.2 块就是闭包 239 15.2.1 词汇范围 239 15.2.2 可修改的__block变量 241 15.3 块的内存管理 241 15.4 使用块 243 15.4.1 使用块为数组排序 243 15.4.2 使用块加载URL 245 15.4.3 使用块的并行编程方式 248 15.5 小结 251 第16章 Objective-C常量 252 16.1 常量 252 16.2 NSNumber常量 253 16.3 容器常量 254 16.3.1 NSArray常量 254 16.3.2 NSDictionary常量 255 16.4 表达式常量 256 16.5 对象下标 257 16.5.1 NSArray对象的下标 257 16.5.2 NSDictionary对象的下标 258 16.6 自定义下标 259 16.7 使用自定义下标编辑寄存器值 260 16.8 小结 270 第17章 并发编程 272 17.1 并发编程的基本原则 272 17.1.1 并发处理的优势 273 17.1.2 实现并发处理 274 17.2 并行处理带来的挑战 274 17.3 共享数据 275 17.4 消息传递 276 17.5 在Objective-C中实现并发编程 276 17.6 语言特性 277 17.7 消息传递 278 17.8 线程 279 17.8.1 NSObject线程 279 17.8.2 NSThread 280 17.8.3 线程同步 281 17.9 使用线程实现并发处理 284 17.10 操作和操作队列 288 17.11 实现并发操作 291 17.12 使用操作队列实现并发处理 295 17.13 Grand Central Dispatch 298 17.14 为并发编程选择合适的API 301 17.15 小结 301 第18章 键值编程 303 18.1 键值编码 303 18.2 设计和实现KVC 306 18.2.1 键值编码API 307 18.2.2 键值搜索模式 308 18.2.3 属性访问方法的命名约定 308 18.2.4 一对多属性访问方法命名约定 309 18.2.5 键值检验 310 18.2.6 键值编码的集合操作符 311 18.3 键值观察 313 18.3.1 键值观察和通知 314 18.3.2 键值观察API 314 18.4 KVO的设计和实现 316 18.5 使用键值编程 316 18.6 小结 323 附录A 语言元素 325 附录B Xcode的配置功能 337 附录C 使用LLDB 353 · · · · · · () "精通Objective-C"试读 · · · · · ·Objective-C编程语言变得越来越流行,其用途也变得越来越广泛。出现这种情况的原因是这种语言本身具有强大功能和易用性,以及该平台不断增加的大量新特性。许多程序员已经掌握了Objective-C的基础知识,并且想要进一步提升专业水平。本书就是一本带你登堂入室的进阶指南。本书要点本书全面深入地探讨了Objective-C编程语言、Objective-C的运行时环境和重要的API,以清晰易懂的方式介.. |
极力推荐
特别喜欢作者
感觉不出文化隔阂
很有趣的笔触