《苹果开发之Cocoa编程(原书第4版)》迷你书[PDF][7.39MB]
内容简介
《苹果开发之Cocoa编程(原书第4版)(华章程序员书库)》是在Aaron多年教学经验的基础上进行了总结提炼的精华之作,加之前面3版不断推敲和完善,已经成为学习Cocoa编程的入门级经典书籍。本书系统介绍了Objective-C语言、Cocoa主要的设计模式、必要的开发工具Xcode和Instruments等,同时新引入了ARC、blocks、view-based table views和Mac应用商店,并专门开辟一章用于介绍在iOS上的基础开发。相比于之前的版本,本书在Cocoa框架新特性、新技术的基础上,更加侧重实战,也更加结合应用发展的最新趋势。全书以具体的实例贯穿,引导读者通过实践学习Cocoa框架的基本思想。在本书中,读者不仅能够看到技术细节,更能看到不断剖析、层层递进的解决问题的思路,甚至可以看到如何查找资料、获取帮助的方法,帮助读者建立规范、科学的设计开发习惯。阅读本书不要求读者拥有任何的Mac编程经验,只需要了解基本的C语言,以及面向对象的知识即可。相信本书能够推动苹果中文社区的进一步发展、壮大,也希望能够将Objective-C和Cocoa框架以及苹果产品背后一流的技术实力从细微处展现出来,帮助那些致力于创新、变革以及追求完美的人们。
目录
译者序 
前 言	
致 谢	
第1章 什么是Cocoa	1 
1.1 历史简介	1 
1.2 开发工具	3 
1.3 编程语言	3 
1.4 对象、类、方法和消息	4 
1.5 框架	4 
1.6 如何阅读本书	5 
1.7 约定	5 
1.8 常见错误	6 
1.9 如何学习	6 
第2章 起步	7 
2.1 Xcode	7 
2.1.1 新建项目	7 
2.1.2 main函数	10 
2.2 Interface Builder	10 
2.2.1 utility区	11 
2.2.2 空白窗口	11 
2.2.3 页面布局	12 
2.2.4 dock	14 
2.2.5 创建一个类	14 
2.2.6 创建一个实例	16 
2.2.7 创建连接	16 
2.3 回顾Objective-C	18 
2.3.1 Objective-C中的类型和常量	19 
2.3.2 查看头文件	19 
2.3.3 编辑实现文件	20 
2.3.4 编译和运行	21 
2.3.5 awakeFromNib	22 
2.4 文档	23 
2.5 你做了什么	24 
2.6 应用程序运行过程	24 
第3章 Objective-C	26 
3.1 创建和使用实例	26 
3.2 使用已有的类	27 
3.2.1 给nil发送消息	31 
3.2.2 NSObject、NSArray、NSMutableArray和NSString	32 
3.2.3 组合和继承	35 
3.3 创建自己的类	36 
3.3.1 创建LotteryEntry类	36 
3.3.2 更改main.m文件	38 
3.3.3 实现Description方法	39 
3.3.4 编写初始化器initializer	41 
3.3.5 带参数的初始化器	42 
3.4 调试器 43 
3.5 你做了什么	47 
3.6 静态分析器	47 
3.7 补充知识:消息机制工作原理	48 
3.8 挑战	49 
第4章 内存管理	50 
4.1 手动内存管理	51 
4.1.1 创建没有内存泄漏的彩票程序	52 
4.1.2 dealloc函数	54 
4.1.3 自动释放对象	54 
4.1.4 retain计数规则	56 
4.2 Accessor方法	57 
4.3 使用ARC	60 
4.3.1 强引用	60 
4.3.2 弱引用	60 
4.3.3 ARC补充知识	61 
第5章 Target/Action	62 
5.1 一些NSControl子类的常见用法	64 
5.1.1 NSButton	64 
5.1.2 NSSlider	65 
5.1.3 NSTextField	65 
5.2 开始SpeakLine示例	67 
5.3 XIB文件中的布局设置	68 
5.4 实现SpeakLineAppDelegate类	71 
5.5 补充:通过代码设置	72 
5.6 挑战	72 
5.7 调试建议	73 
第6章 Helper对象	75 
6.1 委托	75 
6.2 NSTableView及其dataSource	79 
6.3 用户界面布局	81 
6.4 建立连接	83 
6.5 编辑SpeakLineAppDelegate.m文件	83 
6.5.1 在实现委托时的常见错误	85 
6.5.2 对象委托	85 
6.6 补充知识:委托是怎样工作的	86 
6.7 挑战1:创建委托	87 
6.8 挑战2:创建一个数据源	87 
第7章 键–值编码和键–值观察	88 
7.1 键–值编码	88 
7.2 绑定	89 
7.3 键–值观察KVO	91 
7.4 使对象的键可观察	91 
7.5 Properties	93 
7.6 补充知识1:键路径	95 
7.7 补充知识2:键–值观察	96 
第8章 NSArrayController	97 
8.1 从RaiseMan应用开始	98 
8.2 键–值编码和nil	105 
8.3 添加排序功能	106 
8.4 补充知识:不使用NSArrayController进行排序	107 
8.5 挑战1	107 
8.6 挑战2	107 
第9章 NSUndoManager	110 
9.1 NSInvocation	110 
9.2 NSUndoManager的工作机制	110 
9.3 为RaiseMan添加撤销功能	112 
9.4 键–值观察 115 
9.5 撤销编辑操作	116 
9.6 插入后立即编辑	118 
9.7 补充知识:窗口和undo管理器	120 
第10章 Archiving	121 
10.1 NSCoder和NSCoding	122 
10.1.1 编码	122 
10.1.2 解码	123 
10.2 文档架构	124 
10.2.1 Info.plist和NSDocumentController	124 
10.2.2 NSDocument	125 
10.2.3 NSWindowController	127 
10.3 保存和NSKeyedArchiver	127 
10.4 载入和NSKeyedUnarchiver	127 
10.5 为文件类型设置扩展名和图标	129 
10.6 补充知识1:避免死循环	131 
10.7 补充知识2:创建Protocol 131 
10.8 补充知识3:自动保存文档	132 
10.9 补充知识4:没有undo功能的基于文档的应用程序	133 
10.10 统一类型标识符	133 
第11章 Core Data基本原理	134 
11.1 NSManagedObjectModel	134 
11.2 Interface	136 
11.2.1 基于视图的表格视图	137 
11.2.2 连接和绑定	140 
11.2.3 Core Data 如何工作	145 
11.3 补充知识:基于视图和基于单元格的表格视图比较	146 
11.4 挑战	147 
第12章 NIB文件和NSWindowController	148 
12.1 NSPanel	148 
12.2 向应用程序添加面板	149 
12.2.1 设置菜单项	150 
12.2.2 AppController.m	151 
12.2.3 Preferences.xib	152 
12.2.4 PreferenceController.m	155 
12.3 补充知识:NSBundle 157 
12.4 挑战	157 
第13章 User Defaults	158 
13.1 NSDictionary和NSMutableDictionary	159 
13.1.1 NSDictionary	159 
13.1.2 NSMutableDictionary	160 
13.2 NSUserDefaults	160 
13.3 设置Defaults	161 
13.3.1 设置程序标识符	161 
13.3.2 为defaults的名字建立键	161 
13.3.3 注册defaults	162 
13.4 让用户编辑Defaults	163 
13.5 使用Defaults	164 
13.5.1 禁用自动创建未命名新文档	164 
13.5.2 设置表格视图的背景色	165 
13.6 补充知识1:NSUserDefaultsController	166 
13.7 补充知识2:从命令行读写Defaults	166 
13.8 挑战	167 
第14章 使用Notifications	168 
14.1 Notifications 是什么	168 
14.2 Notifications不是什么	168 
14.3 NSNotification	169 
14.4 NSNotificationCenter	169 
14.5 发布notification 171 
14.6 注册成为观察者	171 
14.7 当notification到达时怎么处理	172 
14.8 userInfo字典	172 
14.9 补充知识:Delegates和 Notifications	173 
14.10 挑战	173 
第15章 使用告警窗口	174 
15.1 让用户确认删除	175 
15.2 挑战	177 
第16章 本地化	178 
16.1 本地化NIB文件	179 
16.2 字符串表	181 
16.2.1 创建字符串表	181 
16.2.2 使用字符串表	182 
16.3 补充知识1:ibtool 183 
16.4 补充知识2:格式化字符串中符号的顺序	184 
第17章 自定义视图	185 
17.1 视图层次	185 
17.2 绘制视图	186 
17.2.1 创建视图子类的实例	187 
17.2.2 Size Inspector	188 
17.2.3 drawRect	189 
17.3 使用NSBezierPath 绘图	191 
17.4 NSScrollView	192 
17.5 用程序创建视图	195 
17.6 补充知识1:单元格	195 
17.7 补充知识2:isFlipped 196 
17.8 挑战	197 
第18章 图片和鼠标事件	198 
18.1 NSResponder	198 
18.2 NSEvent	198 
18.3 捕获鼠标事件	199 
18.4 使用NSOpenPanel 200 
18.4.1 修改XIB文件	201 
18.4.2 代码编辑	203 
18.5 在视图中合成图片	204 
18.6 视图的坐标系统	206 
18.7 Autoscrolling	208 
18.8 补充知识:NSImage	208 
18.9 挑战	209 
第19章 键盘事件	210 
19.1 NSResponder	211 
19.2 NSEvent	212 
19.3 使用自定义视图创建一个新的工程	212 
19.3.1 界面布局	212 
19.3.2 创建连接	214 
19.3.3 编写代码	216 
19.4 补充知识:Rollovers	219 
19.5 毛边蓝框	220 
第20章 绘制带属性的文本	222 
20.1 NSFont	222 
20.2 NSAttributedString	223 
20.3 绘制字符串和属性字符串	225 
20.4 显示字母	225 
20.5 让视图生成PDF数据	226 
20.6 补充知识:NSFontManager	228 
20.7 挑战1 229 
20.8 挑战2 229 
第21章 粘贴板和Nil-Targeted Actions	230 
21.1 NSPasteboard	231 
21.2 在BigLetterView 中添加剪切、复制和粘贴功能	232 
21.3 Nil-Targeted Actions	233 
21.4 补充知识1:哪个对象发送了action消息	235 
21.5 补充知识2:UTI和剪贴板	236 
21.6 补充知识3:延迟复制技术	236 
21.7 挑战1 237 
21.8 挑战2 237 
第22章 Categories	238 
22.1 在NSString 中添加方法	238 
22.2 补充知识:声明私有方法	240 
第23章 拖放	241 
23.1 设置BigLetterView 为拖动作的源	241 
23.1.1 开始拖操作	242 
23.1.2 释放以后	244 
23.2 设置BigLetterView为拖操作的目的	244 
23.2.1 registerForDraggedTypes:	245 
23.2.2 添加高亮效果	245 
23.2.3 实现拖操作目的方法	246 
23.2.4 添加第二个的BigLetterView 对象	247 
23.3 补充知识:Operation Mask 247 
第24章 NSTimer	248 
24.1 界面布局	250 
24.2 建立连接	251 
24.3 为TutorController添加代码	253 
24.4 补充知识:NSRunLoop 255 
24.5 挑战	255 
第25章 工作表	256 
25.1 添加sheet窗口	256 
25.1.1 添加outlet和action 257 
25.1.2 界面布局	258 
25.1.3 添加代码	261 
25.2 补充知识1:contextInfo 261 
25.3 补充知识2:模式化窗口	262 
第26章 创建NSFormatters	263 
26.1 简单的格式化器类	264 
26.1.1 创建ColorFormatter.h	265 
26.1.2 编辑XIB文件	265 
26.1.3 NSColorList	267 
26.1.4 在字符串中搜索子串	267 
26.1.5 实现基本的格式化器方法	267 
26.2 NSControl类的Delegate 269 
26.3 检查部分字符串	270 
26.4 返回属性字符串的格式化器	272 
26.5 补充知识:NSValueTransformer	272 
第27章 打印	273 
27.1 处理页面设置	273 
27.2 补充知识:是在屏幕上绘图吗	277 
27.3 挑战	277 
第28章 Web Service	278 
28.1 RanchForecast项目	279 
28.1.1 NSURLConnection	280 
28.1.2 在ScheduleFetcher中添加XML解析功能	281 
28.1.3 界面布局	284 
28.1.4 编写控制器代码	285 
28.2 打开URL 286 
28.3 挑战:添加一个WebView 286 
第29章 Blocks	288 
29.1 块语法	290 
29.1.1 块内部的内存和对象操作	291 
29.1.2 块的可用性	292 
29.1.3 RanchForecast: 异步开发	292 
29.1.4 接收异步响应	293 
29.2 挑战:实现一个Delegate	296 
第30章 iOS开发	297 
30.1 将RanchForecast移植到iOS	297 
30.2 RootViewController	299 
30.3 添加导航控制器	302 
30.4 ScheduleViewController	303 
30.5 UITableViewController	304 
30.6 视图控制器切换	305 
30.7 挑战	306 
第31章 视图切换	307 
31.1 开始	308 
31.1.1 创建管理视图控制器类	309 
31.1.2 创建视图控制器及其XIB文件	309 
31.2 给MyDocument添加视图切换功能	311 
31.3 调整窗口尺寸	312 
第32章 Core Data Relationships	314 
32.1 模型编辑	314 
32.2 创建自定义NSManagedObject类	315 
32.2.1 Employee	316 
32.2.2 Department	317 
32.3 界面布局	318 
32.4 事件及nextResponder	320 
第33章 Core Animation	322 
33.1 Scattered	322 
33.2 隐式动画及action 327 
33.3 挑战1	329 
33.4 挑战2	329 
第34章 并发性	330 
34.1 多线程	330 
34.1.1 巨大的分歧	331 
34.1.2 简单的Cocoa后台线程	332 
34.2 Scattered 升级版:Instruments 中的Time Profiling	333 
34.3 NSOperationQueue	336 
34.3.1 Scattered的多线程解决方案	336 
34.3.2 线程的同步处理	338 
34.4 补充知识:更快的Scattered 程序	338 
34.5 挑战	339 
第35章 Cocoa和OpenGL	340 
35.1 一个简单的Cocoa/OpenGL应用程序	340 
35.2 界面布局	341 
35.3 代码编写	344 
第36章 NSTask	347 
36.1 ZIPspector	347 
36.1.1 同步读取	351 
36.1.2 iPing	352 
36.2 挑战:.tar和.tgz文件	355 
第37章 发布应用	356 
37.1 Build Configurations	356 
37.2 创建Release版本	358 
37.3 应用沙箱	360 
37.3.1 权限	360 
37.3.2 文件访问与权限的折中	361 
37.4 苹果应用商店	362 
结束语	364
文档截图

                    一、推荐使用迅雷或快车等多线程下载软件下载本站资源。
二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。
三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!
四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.
五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。
六、如需转载本站资源,请注明转载来自并附带链接
七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com
- 1尚硅谷前端学科全套视频[AVI][130.72GB]
 - 2深入理解php:高级技巧、面向对象与核心技术(原书第3版) 【PDF】
 - 3开发高质量PHP框架与应用的实际案例解析【PDF】
 - 4响应式Web图形设计 ([美]Christopher Schmitt) 中文【PDF】
 - 5响应式Web设计:HTML5和CSS3实践指南【PDF】
 - 6响应式Web设计:HTML5和CSS3实战 第2版 (本·弗莱恩) 中文【PDF】
 - 7Axure RP8 实战手册 网站和APP原型制作案例精粹(小楼一夜听春语) 试读版【PDF】【15.4MB】
 - 8[马上学Android]安卓开发视频教程
 - 9Android开发视频教程
 - 10PHP100视频教程
 
- 1Java编程思想On Java 8[PDF][中文][英文][源码][15.31MB]
 - 2PostgreSQL实战 (谭峰等著)【PDF】【221.29MB】
 - 3【机器学习】菜菜的sklearn课堂(1-12全课)[PDF][源码][157.45MB]
 - 4UNREAL ENGINE 4蓝图完全学习教程[PDF][66.67MB]
 - 5加密与解密(第4版)[PDF][光盘源码][1.15GB]
 - 6Qt 5.9 C++开发指南[PDF][276.26MB]
 - 7Python数据分析与应用PPT、教案、实训数据、习题答案[PPT][142.49MB]
 - 8数据中台:让数据用起来[PDF][12.80MB]
 - 9计算机网络:自顶向下方法(第7版) 【PDF】【英文】【17.46MB】
 - 10大话5G:走进万物互联新时代【PDF】【37.31MB】
 
 