![深入浅出Objective-C 修订版](https://cover.qianqiantushu.cc/90/s60f31c5.jpg)
![深入浅出Objective-C 修订版](https://cover.qianqiantushu.cc/90/s60f31c5.jpg)
深入浅出Objective-C 修订版PDF电子书下载
- 电子书积分:18 积分如何计算积分?
- 作 者:钱成编著
- 出 版 社:北京:中国铁道出版社
- 出版年份:2015
- ISBN:9787113197506
- 页数:620 页
第一篇 苹果开发初窥门径 2
第1章 邀请函——来自Objective-C 2
1.1 概述 2
1.2 苹果开发简介 2
1.3 Objective-C的个人简历 4
1.4 本书的扼要提纲 5
1.5 成为伟大的苹果开发者 6
第2章 搭建开发环境——让我们穿戴整齐去参加热闹的派对吧 7
2.1 IDE的准备 7
2.1.1 Xcode不同版本的下载 8
2.1.2 Xcode不同版本的共存 10
2.2 IDE的熟悉 11
2.2.1 Xcode的代码撰写界面 12
2.2.2 Xcode的界面文件 14
2.2.3 工程管理的注意事项 15
2.2.4 Xcode的使用注意事项 16
2.3 本章小结 19
第二篇 扎实功底略有所成 22
第3章 创建应用程序——自家的孩子自家疼 22
3.1 iOS应用程序的创建 22
3.2 iOS工程结构分析 24
3.3 MacOSX应用程序的创建和程序启动 27
3.4 本章小结 28
第4章 开始开发——和Objective-C交个朋友 29
4.1 语法——打铁势必从姿势学起 29
4.2 消息 31
4.3 类的创建 32
4.4 继承和重写(override) 37
4.5 分类(Category) 41
4.6 协议(Protocols)和代理(Delegation) 42
4.7 本章小结 45
第5章 打印日志——维持秩序的摄像头 46
5.1 简单使用示例 46
5.2 进阶使用示例 48
5.2.1 使NSIog的打印结果更详细 48
5.2.2 NSLog原理详解 49
5.3 日志描述 50
5.4 本章小结 52
第6章 基本数据类型,表达式和语句——锅碗瓢盆一个都不少 53
6.1 概述 53
6.2 基本数据类型 53
6.3 命名规则 54
6.3.1 命名错误 55
6.3.2 命名规范 55
6.3.3 命名空间 56
6.4 表达式 56
6.5 语句 60
6.5.1 if/else 60
6.5.2 switch 61
6.5.3 for循环 63
6.5.4 for循环的in语法 64
6.5.5 while循环 65
6.5.6 跳出当前回合循环 66
6.6 本章小结 70
第7章 内存管理——打理矫情程序的超级拖把 71
7.1 内存管理机制——出色程序的重要资本 71
7.1.1 内存的创建和释放 71
7.1.2 自动释放池和使用 73
7.1.3 实例方法和类方法 74
7.1.4 保留(retain)对象 74
7.1.5 复制(copy)对象 75
7.1.6 浅拷贝和深拷贝 76
7.1.7 自动保留(retain) 78
7.1.8 其他创建和释放对象的方式 78
7.2 单例模式 79
7.3 取值方法(getter)和赋值方法(setter) 81
7.3.1 取值方法和赋值方法 82
7.3.2 属性关键字 83
7.3.3 synthesize和dynamic的区别 85
7.4 自动拖把ARC 86
7.4.1 ARC的使用方法 86
7.4.2 ARC新增关键字 87
7.4.3 ARC机制的使用规则 89
7.4.4 ARC机制的注意事项 90
7.4.5 迁移程序到ARC的做法 91
7.5 本章小结 92
第8章 Foundation Kit——巧妇可为有米之炊 93
8.1 字符串(NSString) 93
8.1.1 简单的字符串使用 93
8.1.2 可变字符串使用 96
8.1.3 字符串的路径相关使用 97
8.2 数组(NSArray)和集合(NSSet) 98
8.2.1 数组和集合的简单使用 98
8.2.2 可变数组和可变集合的使用 101
8.3 字典(NSDictionary) 104
8.3.1 简单的字典使用方法 105
8.3.2 可变字典 107
8.4 数据(NSData) 107
8.5 数字(NSNumber) 108
8.5.1 NSNumber的使用 108
8.5.2 简单的数学运算 109
8.5.3 数字格式 109
8.6 配置文件 111
8.7 本章小结 112
第9章 KVC机制——让生活过得更好 113
9.1 KVC的使用和举例 113
9.1.1 KVC机制 113
9.1.2 KVC的取值 114
9.1.3 KVC的存值 117
9.1.4 KVC协议的实现 118
9.1.5 一对多关系适用的运算符 120
9.2 KVO的使用和举例 121
9.3 绑定的使用和示例 127
9.3.1 绑定的简单使用 127
9.3.2 绑定的高级使用 130
9.4 本章小结 136
第10章 错误处理——知错能改善莫大焉 137
10.1 概述 137
10.2 Objective-C的错误处理机制 137
10.3 友善的抓虫好友——NSError 138
10.4 铁血无情的判官——NSException 141
10.5 黑白两道通吃——Signal 144
10.6 本章小节 145
第11章 block——大块头有大智慧 146
11.1 概述 146
11.2 block的基本使用示例 146
11.2.1 简单的block 146
11.2.2 将block作为参数的API 147
11.2.3 block的声明 148
11.2.4 block的typedef 149
11.2.5 block的值返回 149
11.3 block的外部变量使用 150
11.3.1 block体的外部变量使用的奇怪之处 150
11.3.2 克服外部变量的魔咒 151
11.4 block的内存管理 152
11.5 本章小结 153
第三篇 拓展能力融会贯通 156
第12章 视图——展现外形美的窗口 156
12.1 MVC模式及示例 156
12.2 UIViewController(视图控制器) 160
12.2.1 UIViewController和它的主视图 161
12.2.2 主视图的管理函数 162
12.2.3 UIViewController对于旋转的支持 162
12.2.4 多层UIViewController 163
12.3 导航视图控制器(UINavigationController) 164
12.3.1 栈 164
12.3.2 自身的层次 165
12.3.3 导航控制器的使用示例:导航精通大师(一) 166
12.3.4 导航控制器的使用示例——导航栏左中右位置的配置 170
12.3.5 导航控制器的使用示例——导航栏右位置的多按钮 173
12.3.6 导航控制器的使用示例——工具栏内容修改和全屏显示 176
12.3.7 导航控制器的使用示例——动画过渡和超大视图 180
12.4 标签页视图控制器 184
12.4.1 标签页控制器的创建 186
12.4.2 标签页控制器的More标签项目 187
12.4.3 标签页上的标记 189
12.4.4 标签页栏上的警告框 190
12.4.5 隐藏标签栏 191
12.5 弹出视图控制器(Popover.ViewController) 192
12.5.1 使用示例 192
12.5.2 自定义式样 193
12.6 分隔视图控制器(UISplitViewController) 194
12.7 本章小结 196
第13章 控件——沟通心灵美的桥梁 197
13.1 控件使用的注意事项 197
13.2 标签(UILabel) 198
13.3 文本视图(UITextView) 200
13.3.1 不可编辑的文本视图控件 200
13.3.2 自定义选中文本后的弹出选项 202
13.3.3 可编辑的文本视图控件 203
13.3.4 收起键盘 204
13.4 文本域(UITextField) 206
13.4.1 特有的特性 206
13.4.2 可拉伸图片 207
13.4.3 避免被键盘挡住 209
13.5 进度视图(UIProgressView) 213
13.6 滑动条(UISlider) 214
13.7 分隔栏控件(UISegmentControl) 215
13.8 按钮(UIButton) 217
13.8.1 按钮的基本使用 217
13.8.2 应对怪咔需求 218
13.9 本章小结 219
第14章 滚动视图——表达内涵美的手段 220
14.1 滚动视图(UIScrollView) 220
14.2 表视图(UITableView) 222
14.2.1 表视图的工作流程 223
14.2.2 表视图的示例(1):皇家马德里队球员名单 224
14.2.3 表视图的示例(2):名单的分段显示 227
14.2.4 表视图的示例(3):名单的索引显示 230
14.2.5 表视图的示例(4):系统样式的表视图单元 234
14.2.6 表视图的示例(5):自定义表视图的单元 237
14.2.7 表视图的示例(6):组式样的表视图 240
14.2.8 表视图的示例(7):表视图的编辑功能(删除) 240
14.2.9 表视图的示例(8):表视图的编辑功能(新增) 244
14.2.10 表视图的示例(9):表视图的编辑功能(排序) 245
14.2.11 表视图的示例(10):表视图的编辑功能(多选) 249
14.3 取值控件(UIPicker) 254
14.3.1 取值控件示例(1):球员角色菜单 254
14.3.2 取值控件示例(2):自定义UIPicker的选项外观 257
14.4 本章小结 260
第15章 警告框——强势地闹别扭 261
15.1 概述 261
15.2 iOS警告框的示例和使用 262
15.2.1 普通的警告框使用 262
15.2.2 无按钮警告框 264
15.2.3 当场取得返回值的警告框 265
15.2.4 显示文本输入框的警告框 267
15.2.5 显示加密文本输入框的警告框 270
15.2.6 显示登录框的警告框 271
15.2.7 多参数格式的警告框 273
15.2.8 客官请点菜,Sheet是您的菜单 274
15.3 MacOSX警告框的示例和使用 279
15.3.1 警告框的快捷实现 279
15.3.2 警告框的创建 280
15.3.3 警告框的sheet方式显示 282
15.3.4 警告框的扩展信息 284
15.3.5 警告框的可选栏控件 285
15.3.6 Carbon下的警告框显示 285
15.3.7 温文尔雅地提醒 286
15.4 本章小结 288
第16章 视图展示——画上美丽妆容尽情舞动吧 290
16.1 横竖屏和自动布局机制 290
16.1.1 简单的硬代码横竖屏示例 291
16.1.2 autoresize横竖屏示例 302
16.1.3 autolayout横竖屏示例(1)——何谓自动布局 305
16.1.4 autolayout横竖屏示例(2)——自动布局机制的实现 308
16.1.5 autolayout横竖屏示例(3)——冲突处理和设备适配 314
16.1.6 autolayout的代码使用 316
16.2 Quartz——我们手上的神笔 316
16.2.1 绘画示例:随意画 316
16.2.2 图形示例:各种图形画法 322
16.2.3 渐变示例 326
16.3 用动画来提升用户体验 327
16.3.1 UIView的基本动画效果 327
16.3.2 UIView的转场动画效果 330
16.3.3 CAAnimation的转场动画效果 333
16.3.4 CAAnimation的私有动画效果 335
16.3.5 CAAnimation的视图自身2D动画——弹簧跳 339
16.3.6 CAAnimation的视图自身2D动画——撒腿就跑 340
16.3.7 CAAnimation的视图自身2D动画——闪烁 342
16.3.8 CAAnimation的视图自身3D动画——翻开书籍封面 343
16.4 本章小结 347
第四篇 修得绝技炉火纯青 350
第17章 网络请求——互联网客户端的武功宝典 350
17.1 概述 350
17.2 NSURL网络编程 350
17.2.1 同步下载 351
17.2.2 异步下载 353
17.2.3 堵塞下载 357
17.3 HTTP请求 359
17.3.1 PUT网络请求 360
17.3.2 POST简单网络请求 361
17.3.3 POST进阶网络请求 362
17.3.4 SOAP网络请求 366
17.4 XML解析 368
17.5 JSON解析 371
17.6 CFNetwork网络编程 373
17.6.1 和纯C的socket网络开发区别 374
17.6.2 简单的HTTP请求 374
17.6.3 异步HTTP请求 376
17.6.4 验证HTTP请求 378
17.7 本章小结 381
第18章 数据库——化繁为简,唯快不破 382
18.1 概述 382
18.2 CoreData的模型建立 383
18.3 CoreData的钢铁三兄弟 386
18.4 CoreData数据模型的属性类型支持 389
18.5 CoreData的数据导入 390
18.6 CoreData持久性数据库的内容分析 396
18.7 CoreData的数据读取 398
18.8 CoreData和表视图的完美配合 400
18.9 表视图集成CoreData的新增和删除功能 406
18.10 表视图集成CoreData的更新功能 411
18.11 本章小结 415
第19章 多线程编程——凌波微步,可战可退 416
19.1 性能为王——线程概述 416
19.2 基本线程使用——NSThread 417
19.3 基本线程使用——pthread 420
19.4 基本线程使用——GCD 421
19.4.1 默认队列的使用 422
19.4.2 组队列的使用 423
19.4.3 GCD和函数指针配合使用 424
19.5 线程安全 424
19.5.1 NSLock的使用 425
19.5.2 synchronized的使用 426
19.5.3 condition的使用 427
19.6 进阶并行开发——NSOperation 429
19.6.1 苹果提供给开发者执行并发任务方法 429
19.6.2 NSOperation的并行开发的两种做法 429
19.6.3 NSOperation的练手之作(一):RSS的读取 430
19.6.4 NSOperation的练手之作(二):RSS数据解析 434
19.6.5 NSOperation的练手之作(三):和界面的协调 437
19.6.6 NSOperation的练手之作(四):批量小图的下载 441
19.6.7 NSOperation的练手之作(五):预览图的并行下载 443
19.7 消息循环(NSRunLoop) 451
19.8 本章小结 453
第20章 钥匙串——防火、防盗、防黑客 454
20.1 概述 454
20.2 何时使用钥匙串 454
20.3 iOS中的钥匙串使用 456
20.3.1 新增和删除钥匙串项目 458
20.3.2 查找和更新钥匙串项目 460
20.3.3 钥匙串的Group概念 462
20.4 MacOSX中的钥匙串使用 464
20.4.1 新增和删除钥匙串项目 464
20.4.2 查找和更新钥匙串项目 467
20.5 加密的简单示例 470
20.6 本章小结 472
第21章 通知——弹指神通,指哪动哪 473
21.1 通知和代理的区别 473
21.2 本地通知的使用 474
21.2.1 通知接收环境的建立 474
21.2.2 通知的简单发送 475
21.2.3 通知的异步发送 477
21.3 跨进程通知发送 481
21.4 本章小结 482
第22章 手势——触摸改变了世界 483
22.1 事件响应链 483
22.1.1 事件的生命周期 483
22.1.2 事件响应链 484
22.2 触摸事件的接收示例 485
22.3 手势响应示例——多种手势识别器 488
22.3.1 程序框架的搭建 488
22.3.2 Tap点击手势的识别 490
22.3.3 依样画葫芦地完成多种手势识别器 493
22.4 手势之间的优先级 498
22.5 本章小结 499
第23章 推送——应用也有生命 500
23.1 推送简介 500
23.2 推送证书的准备步骤 503
23.3 推送的内容 508
23.4 远程推送的使用方法 509
23.5 本地推送的使用方法 511
23.6 推送的注意事项和常见错误解决方案 512
23.7 本章小结 514
第24章 程序间通信——应用组实现的最佳方案 515
24.1 打破沙盒的限制 515
24.2 自定义URL Scheme 516
24.2.1 调用系统应用程序 516
24.2.2 自定义URLScheme 517
24.2.3 OpenIn:让其他应用程序打开文件 519
24.2.4 自定义程序候选面板的按钮 526
24.3 本章小结 529
第五篇 内外兼修大师风范 531
第25章 iOS开发相关现代化新特性——最先进的用户体验 531
25.1 概述 531
25.2 云和消息中心 532
25.2.1 书报亭(Newsstand) 532
25.2.2 iCloud 533
25.2.3 消息中心 538
25.2.4 输入法 539
25.3 Passbook 539
25.3.1 Passbook的概念 539
25.3.2 Passbook的开发思路 540
25.4 本章小结 545
第26章 开发调试技巧——最强力的集成环境 547
26.1 自定义代码段 547
26.2 静态分析 550
26.3 内存泄漏检测 551
26.4 单元测试:提交测试前,把关质量的最后一道锁 553
26.4.1 逻辑代码的单元测试示例 554
26.4.2 UI上的单元测试示例 557
26.5 本章小结 560
第27章 视网膜屏——最爽快的视觉享受 561
27.1 概述 561
27.2 视网膜屏的兼容解决方案 561
27.2.1 程序中的资源 561
27.2.2 启动图片 564
27.2.3 图标 565
27.3 本章小结 566
第28章 本地化——最贴心的国际化 567
28.1 本地化的解决方案 567
28.1.1 使用Xcode的本地化功能的开发举例 569
28.1.2 资源文件本地化的开发举例 572
28.1.3 本地化映射表的开发举例 573
28.1.4 本地化的原理和相关知识 576
28.1.5 本地化格式的开发举例 579
28.1.6 本地化应用程序名字 580
28.2 本章小结 581
第29章 程序通用设定——最适合的功能划分 582
29.1 通用设定的使用范围 582
29.1.1 两种解决方案的使用场景各有特点 583
29.1.2 评价者的意图 583
29.2 通用设定的示例 584
29.2.1 系统设置的本地化开发举例 587
29.2.2 系统设置的配置举例:文本输入框 588
29.2.3 系统设置的配置举例:滑块 590
29.2.4 系统设置的配置举例:左标题右内容 590
29.2.5 系统设置的配置举例:多选项 592
29.2.6 系统设置的配置举例:子设置视图 593
29.3 通用设定的同步 594
29.4 本章小结 596
第30章 辅助功能——最周全的系统设想 597
30.1 辅助功能简介 597
30.2 辅助功能示例——Interface Builder中的VoiceOver 599
30.3 辅助功能示例——代码中的VoiceOver 602
30.3.1 使用xib设置辅助功能示例 602
30.3.2 重写辅助功能的示例 604
30.4 本章小结 607
第六篇 独步天下不可不知 609
第31章 苹果终极开发技巧——不传秘籍重现天日 609
31.1 创建iPhone和iPad的通用应用程序 609
31.2 真机调试 611
31.3 DMG制作 616
31.3.1 简单DMG文件制作 616
31.3.2 高级DMG文件制作 617
31.4 区分操作系统版本环境 619
31.5 本章小结 620
- 《信号 修订版》铁道部通信信号公司研究设计院 1979
- 《中国舞等级考试教材 第1级 幼儿修订版》孙光言编;钟斌斌责编 2019
- 《英语可以这样教 修订版》沈丽新著 2019
- 《危险化学品生产单位主要负责人及安全生产管理人员培训教材 2018修订版》全国安全生产教育培训教材教材编审委员会 2018
- 《数学在哪里 小学五年级 上 修订版》唐彩斌 2019
- 《深入推进自我革命》任仲文 2019
- 《数学在哪里 小学三年级 上 修订版》唐彩斌 2019
- 《初中英语语法革命 修订版》李义启 2016
- 《英语专业本科生教材 泛读教程 1 学生用书 修订版》王守仁,赵文书,康文凯编 2018
- 《超声标准切面图解 修订版》张梅 2018
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《中国当代乡土小说文库 本乡本土》(中国)刘玉堂 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《中国铁路人 第三届现实主义网络文学征文大赛一等奖》恒传录著 2019
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《中国制造业绿色供应链发展研究报告》中国电子信息产业发展研究院 2019
- 《中国陈设艺术史》赵囡囡著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《清至民国中国西北戏剧经典唱段汇辑 第8卷》孔令纪 2018
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018