iOS编程实战pdf免费版高清版

时间: 2022-04-10 18:44:20  59 视图 视图 iOS7

编辑点评:学习ios开发的一本入门书籍

适用移动开发人员阅读的一本参考类书籍,iOS编程实战pdf免费版是iOS开发进阶的不错选择,它深入挖掘iOS高级特性与开发技巧,挑战编程极限,打造非凡应用的一本实战图书。

iOS编程实战pdf图片预览

目录大全

第一部分全新功能

第1章全新的系统2

1.1新的UI2

1.2UIKitDynamics和MotionEffects3

1.3自定义过渡效果4

1.4新的多任务模式4

1.5TextKit5

1.6动态字体5

1.7MapKit集成5

1.8SpriteKit5

1.9LLVM55

1.10Xcode57

1.10.1nib文件格式的变化7

1.10.2源代码控制集成7

1.10.3自动配置7

1.10.4对调试导航面板的改进8

1.10.5文档浏览器8

1.10.6AssetCatalog9

1.10.7测试导航面板9

1.10.8持续集成10

1.10.9AutoLayout改进10

1.10.10iOS模拟器10

1.11其他10

1.12小结11

1.13扩展阅读11

第2章世界是平的:新的UI范式12

2.1清晰、依从和层次12

2.2动画、动画、动画12

2.2.1UIKitDynamics13

2.2.2UIMotionEffect13

2.3着色14

2.4用半透明实现层次和上下文14

2.5动态字体15

2.6自定义过渡效果16

2.7把应用过渡(迁移)到iOS717

2.7.1UIKit变化17

2.7.2自定义设计17

2.7.3支持iOS617

2.8小结20

2.9扩展阅读20

第二部分充分利用日常工具

第3章你可能不知道的22

3.1命名最佳实践22

3.1.1自动变量22

3.1.2方法22

3.2属性和实例变量最佳实践23

3.3分类24

3.4关联引用26

3.5弱引用容器27

3.6NSCache28

3.7NSURLComponents28

3.8CFStringTransform29

3.9instancetype30

3.10Base64和百分号编码31

3.11-[NSArrayfirstObject]31

3.12小结31

3.13扩展阅读32

第4章故事板及自定义切换效果33

4.1初识故事板33

4.1.1实例化故事板34

4.1.2加载故事板中的视图控制器34

4.1.3联线34

4.1.4使用故事板来实现表视图36

4.2自定义切换效果37

4.2.1优点39

4.2.2白璧微瑕――合并冲突39

4.3小结39

4.4扩展阅读39

第5章掌握集合视图41

5.1集合视图41

5.1.1类与协议41

5.1.2示例42

5.2用集合视图自定义布局实现高级定制49

5.2.1石工布局50

5.2.2封面浏览布局55

5.3小结56

5.4扩展阅读56

第6章使用自动布局58

6.1Xcode4的自动布局58

6.2了解自动布局59

6.3Xcode5中自动布局的新特性59

6.3.1在Xcode5中使用自动布局61

6.3.2固有尺寸62

6.3.3固有尺寸和本地化63

6.3.4设计时和运行时布局63

6.3.5自动更新边框64

6.3.6顶部和底部布局引导65

6.3.7辅助编辑器中的布局预览65

6.3.8在设计时调试自动布局65

6.3.9在自动布局中使用滚动视图66

6.3.10使用自动布局和边框66

6.3.11可视格式化语言66

6.3.12可视格式化语言的缺点67

6.3.13调试布局错误68

6.4小结69

6.5扩展阅读69

第7章更完善的自定义绘图71

7.1iOS的不同绘图系统71

7.2UIKit和视图绘图周期72

7.3视图绘制与视图布局73

7.4自定义视图绘制74

7.4.1通过UIKit绘图74

7.4.2路径75

7.4.3理解坐标系77

7.4.4重新调整大小以及内容模式79

7.4.5变形80

7.4.6通过CoreGraphics进行绘制82

7.4.7混用UIKit与CoreGraphics85

7.4.8管理图形上下文85

7.5优化UIView绘制87

7.5.1避免绘图87

7.5.2缓存与后台绘制88

7.5.3自定义绘图与预渲染88

7.5.4像素对齐与模糊文本89

7.5.5透明、不透明与隐藏90

7.6小结90

7.7扩展阅读91

第8章CoreAnimation92

8.1视图动画92

8.2管理用户交互94

8.3图层绘制94

8.3.1直接设置内容96

8.3.2实现display方法97

8.3.3自定义绘图97

8.3.4在自己的上下文中绘图99

8.4移动对象99

8.4.1隐式动画100

8.4.2显式动画101

8.4.3模型与表示101

8.4.4关于定时103

8.5三维动画105

8.6美化图层108

8.7用动作实现自动动画108

8.8为自定义属性添加动画110

8.9CoreAnimation与线程111

8.10小结111

8.11扩展阅读111

第9章多任务113

9.1多任务和运行循环简介113

9.2以操作为中心的多任务开发114

9.3用GCD实现多任务118

9.3.1分派队列简介119

9.3.2用分派屏障创建同步点120

9.3.3分派组121

9.4小结121

9.5扩展阅读121

第三部分选择工具

第10章创建(Core)Foundation框架124

10.1CoreFoundation类型124

10.2命名和内存管理125

10.3分配器126

10.4内省126

10.5字符串和数据127

10.5.1常量字符串127

10.5.2创建字符串128

10.5.3转换为C字符串129

10.5.4其他字符串操作符131

10.5.5字符串的支持存储131

10.5.6CFData132

10.6容器类型132

10.6.1CFArray133

10.6.2CFDictionary133

10.6.3CFSet和CFBag134

10.6.4其他容器类型134

10.6.5回调函数134

10.7自由桥接136

10.8小结139

10.9扩展阅读139

第11章幕后制作:后台处理140

11.1后台运行最佳实践:能力越大责任越大140

11.2iOS7中后台运行的重要变化142

11.3用NSURLSession访问网络142

11.3.1会话配置143

11.3.2任务143

11.3.3后台传输144

11.4周期性拉取和自适应多任务146

11.5后台唤醒146

11.6状态恢复系统147

11.6.1测试状态恢复系统147

11.6.2选择性加入148

11.6.3应用启动过程的变化149

11.6.4状态恢复标识符149

11.6.5状态编码器与状态解码器149

11.6.6表视图和集合视图153

11.7小结154

11.8扩展阅读154

第12章使用REST服务156

12.1REST简介157

12.2选择数据交换格式157

12.2.1在iOS中解析XML157

12.2.2在iOS中解析JSON158

12.2.3XML与JSON159

12.2.4模型版本化160

12.3假想的Web服务160

12.4重要提醒161

12.5RESTfulEngine架构(iHotelApp示例代码)161

12.5.1NSURLConnection与第三方框架161

12.5.2创建RESTfulEngine162

12.5.3使用访问令牌对API调用进行认证165

12.5.4在RESTfulEngine.m中覆盖相关方法以添加自定义认证头部165

12.5.5取消请求166

12.5.6请求响应166

12.5.7对JSON数据进行键值编码167

12.5.8列表页面的JSON对象与详细页面的JSON对象169

12.5.9嵌套JSON对象169

12.5.10少即是多171

12.5.11错误处理171

12.5.12本地化173

12.5.13使用分类处理其他格式173

12.5.14在iOS中提升性能的小技巧174

12.6缓存174

12.7需要离线支持的原因174

12.8缓存策略175

12.8.1存储缓存175

12.8.2缓存版本和失效178

12.9数据模型缓存178

12.10缓存版本控制182

12.11创建内存缓存183

12.11.1为AppCache设计内存缓存184

12.11.2处理内存警告185

12.11.3处理结束和进入后台通知186

12.12创建URL缓存186

12.12.1过期模型187

12.12.2验证模型187

12.12.3示例187

12.12.4用URL缓存来缓存图片188

12.13小结188

12.14扩展阅读188

第13章充分利用蓝牙设备190

13.1蓝牙历史190

13.2为什么选择低功耗蓝牙191

13.3蓝牙SDK191

13.3.1服务器191

13.3.2客户端191

13.4类和协议191

13.5使用蓝牙设备192

13.5.1通过扫描寻找服务192

13.5.2连接设备194

13.5.3直接获取外围设备194

13.5.4发现服务194

13.5.5发现特性195

13.6创建自己的外围设备197

13.6.1广播服务197

13.6.2常见场景200

13.7在后台运行200

13.7.1后台模式200

13.7.2电量考虑200

13.7.3状态保存和恢复200

13.8小结201

13.9扩展阅读201

第14章通过安全服务巩固系统安全203

14.1理解iOS沙盒203

14.2保证网络通信的安全204

14.2.1证书工作原理205

14.2.2检验证书的有效性207

14.2.3判断证书的可信度210

14.3使用文件保护211

14.4使用钥匙串213

14.5使用加密216

14.5.1AES概要217

14.5.2使用PBKDF2将密码转换成密钥217

14.5.3AES模式和填充219

14.5.4初始化向量220

14.5.5使用HMAC进行认证221

14.5.6错误的密码222

14.5.7组合使用加密和压缩222

14.6小结222

14.7扩展阅读222

第15章在多个苹果平台和设备及64位体系结构上运行应用224

15.1开发多平台应用225

15.1.1可配置的目标设置:BaseSDK和DeploymentTarget225

15.1.2支持多个SDK时的注意事项:框架、类和方法225

15.1.3检查框架、类和方法的可用性227

15.2检测设备的功能228

15.2.1检测设备及判断功能228

15.2.2检测硬件和传感器229

15.3应用内发送Email和短信233

15.4支持新的4英寸设备族系233

15.4.1Cocoa自动布局235

15.4.2代码中固化屏幕尺寸235

15.4.3iPhone5s和新的64位指令集235

15.5向iOS7迁移236

15.5.1自动布局236

15.5.2支持iOS6236

15.5.3应用图标237

15.5.4边界按钮237

15.5.5着色237

15.5.6图片更新237

15.6向64位体系结构迁移238

15.6.1数据溢出238

15.6.2序列化数据239

15.6.3针对64位体系结构的条件编译239

15.7UIRequiredDeviceCapabilities239

15.8小结240

15.9扩展阅读240

第16章国际化和本地化242

16.1什么是本地化242

16.2本地化字符串243

16.3对未本地化的字符串进行审查244

16.4格式化数字和日期245

16.5nib文件和BaseInternationalization248

16.6本地化复杂字符串248

16.7小结250

16.8扩展阅读251

第17章调试252

17.1LLDB252

17.2使用LLDB进行调试252

17.2.1dSYM文件253

17.2.2符号化254

17.3断点255

17.4观察点258

17.5LLDB控制台259

17.6NSZombieEnabled标志262

17.7不同的崩溃类型263

17.7.1EXC_BAD_ACCESS263

17.7.2SIGSEGV263

17.7.3SIGBUS264

17.7.4SIGTRAP264

17.7.5EXC_ARITHMETIC264

17.7.6SIGILL264

17.7.7SIGABRT264

17.7.8看门狗超时265

17.7.9自定义错误信号处理程序265

17.8断言265

17.9异常267

17.10收集崩溃报告268

17.11第三方崩溃报告服务269

17.12小结270

17.13扩展阅读270

第18章性能调优272

18.1性能思维模式272

18.1.1指导方针一:产品是为了取悦用户才存在的272

18.1.2指导方针二:设备是为了方便用户而存在的272

18.1.3指导方针三:做到极致272

18.1.4指导方针四:用户的感知才是实际的273

18.1.5指导方针五:关注能带来大收益的方面273

18.2欢迎走入Instruments的世界273

18.3查找内存问题275

18.4查找CPU问题279

18.4.1Accelerate框架282

18.4.2GLKit283

18.4.3编译器优化283

18.4.4链接器优化284

18.5绘图性能284

18.6优化磁盘访问和网络访问286

18.7小结286

18.8扩展阅读286

第四部分超越极限

第19章近乎物理效果:UIKit动力学290

19.1动画类、行为和动力项290

19.2UIKit“物理”291

19.3内置行为292

19.3.1迅速移动292

19.3.2附着292

19.3.3推力293

19.3.4重力294

19.3.5碰撞294

19.3.6动力项295

19.4行为层次结构295

19.5自定义操作295

19.6实战:一个“撕开”视图296

19.6.1拖拽视图296

19.6.2撕开该视图297

19.6.3添加额外效果300

19.7多个动力学动画类301

19.8与UICollectionView交互302

19.9小结305

19.10扩展阅读305

第20章魔幻的自定义过渡306

20.1iOS7中的自定义过渡306

20.2过渡协调器307

20.3集合视图和布局过渡308

20.4使用故事板和自定义联线的自定义视图控制器过渡308

20.5自定义视图控制器过渡:iOS7风格308

20.6使用iOS7SDK的交互式自定义过渡310

20.7小结312

20.8扩展阅读313

第21章精妙的文本布局314

21.1理解富文本314

21.1.1字符与字形314

21.1.2理解字体316

21.1.3段落样式316

21.2属性化字符串317

21.2.1用字体描述符选择字体318

21.2.2设置段落样式319

21.2.3HTML319

21.2.4简化属性化字符串的使用320

21.3动态字体321

21.4TextKit322

21.4.1TextKit的组件323

21.4.2多容器布局324

21.4.3排除路径325

21.4.4继承文本容器326

21.4.5继承文本存储327

21.4.6继承布局管理器331

21.4.7针对字形的布局334

21.5CoreText337

21.5.1用CTFramesetter进行简单的布局337

21.5.2为非连续路径创建框架338

21.5.3排版器、文本行、连续文本和字形340

21.6小结340

21.7扩展阅读341

第22章Cocoa的大招:键值编码和观察342

22.1键值编码342

22.1.1用KVC赋值344

22.1.2用键路径遍历属性345

22.1.3KVC和容器类345

22.1.4KVC和字典347

22.1.5KVC和非对象347

22.1.6用KVC实现高阶消息传递347

22.1.7容器操作符347

22.2键值观察348

22.2.1KVO和容器类350

22.2.2KVO是如何实现的351

22.3KVO的权衡351

22.4小结352

22.5扩展阅读353

第23章超越队列:GCD高级功能354

23.1信号量354

23.2分派源356

23.3定时器源358

23.4单次分派358

23.5队列关联数据359

23.6分派数据和分派I/O362

23.7小结367

23.8扩展阅读367

第24章深度解析Objective-C368

24.1理解类和对象368

24.2使用方法和属性370

24.3使用方法签名和调用372

24.4消息传递如何工作378

24.4.1动态实现378

24.4.2快速转发380

24.4.3普通转发383

24.4.4转发失败384

24.4.5各种版本的objc_msgSend384

24.5方法混写385

24.6ISA混写387

24.7方法混写与ISA混写388

24.8小结389

24.9扩展阅读389

内容简介

《iOS编程实战》是很受开发者喜爱的iOS进阶图书。它包含大量代码示例,主线是围绕如何设计、编写和维护很好的iOS应用。开发者可从《iOS编程实战》学到大量关于设计模式、编写可重用代码以及语法与新框架的知识。

相对上一版,新版进行了大幅修订,新增6章阐述iOS7新特性,并对大部分内容进行了更新,涵盖了iOS7大部分新增特性,包括新的后台操作(靠前1章)、CoreBluetooth(靠前3章)、UIKit动力学(靠前9章)以及TextKit(第21章)。我们提供了如何处理新的扁平化UI的指南(第2章),还新增了一章开发者不太常见但相当实用的“小技巧”(第3章)。

《iOS编程实战》适合iOS移动开发人员。

作者介绍

RobNapier

2005年开始从事Mac开发,iPhoneSDK靠前版发布时就开始开发iPhone应用。他是TheDaily、PandoraBoy和CiscoMobile的作者,StackOverflow的主要贡献者,并维护技术博客Cocoaphony,主要关注组网、性能、安全和MVC模式。

MugunthKumar

独立iOS开发者,新加坡南洋理工大学硕士研究生,主修信息系统。其个人博客主要发表移动开发、软件可用性、用户体验和iOS相关的文章。从事iOS开发前,他在财富500强企业通用电气和霍尼韦尔担任Windows等。

前言介绍

从某种程度上说,iOS 7是从SDK随着iPhone OS 2发布到现在iOS发生过的最大的变化。人们在新闻和博客中讨论新的扁平化用户界面的各个方面,及其对应用开发者和用户的意义。可以说,从没有一次iOS的升级会使得这么多的开发者重新设计UI。 

但是从另外的角度看,iOS 7几乎可以从iOS 6无缝升级。比起iOS 4在多任务上的变化,iOS 7只需要对应用做很小的改动,尤其是开发者使用标准UI或者完全自定义UI的情况。对于这两种极端情况,UI的变化要么是自动完成的,要么压根儿跟开发者没关系。 

不过,对所有的开发者来说,iOS还是带来了变化。有很多管理后台操作的方法,但是后台运行的规则甚至比以前更严格了。UIKit动力学意味着更灵活的动画,不过实现起来不简单。TextKit为文本布局带来了令人难以置信的特性,也伴随着令人发疯的限制和bug。iOS 7是大杂烩,既有美好也有挫败。不过你得学习iOS 7,因为用户很快就会升级。 

如果你准备好了去探索最新的苹果系统,准备好了挑战应用的极限,那么本书会助你一臂之力。 

读者对象 

这并不是一本入门书。其他一些书会教你Objective-C并一步步指导你学习Interface Builder。不过本书假定你已经拥有一些iOS开发经验。可能是自学的,或者上过培训班,没准已经有一个应用即将完工只是没有上架而已。对于此类读者,如果你打算学习更深入的内容、最佳实践以及作者源自真实工程的开发经验,那你就找对书了。 

这本书并不是示例的简单堆砌,它包含大量代码,不过主线还是围绕如何设计、编写和维护优秀的iOS应用。本书不仅会教你怎么做,并且会剖析这样做的原因。你会学到很多关于设计模式、编写可重用代码以及语法与新框架的知识。 

本书内容 

iOS平台总是向前发展,本书也一样。书中大部分示例需要至少iOS 6才能运行,有些需要iOS 7、 

所有示例都启用了自动引用计数(ARC)、自动属性合成和对象字面量。除了很少几处外,本书不会讨论向后兼容。如果你的代码过于庞大,必须要向后兼容,你可能知道如何处理。本书主旨是通过最好的特性来创造最佳应用。 

本书专注于iPhone 5、iPad 3和更新的型号。大部分主题对其他iOS设备也适用。第15章讲了如何处理平台间的差异。 

新版内容 

本版涵盖了iOS 7大部分的新增特性,包括新的后台操作(第11章)、Core Bluetooth(第13章)、UIKit动力学(第19章)以及TextKit(第21章)。我们提供了如何处理新的扁平化UI的指南(第2章),还新增了一章你可能不知道的“小技巧”(第3章)。 

本书专注于iOS 7中最有价值的信息。前几版的有些章节被移到了网站上(iosptl.com)。读者可以在那里找到关于常见的Objective-C实践、定位服务、错误处理等内容的章节。 

阅读条件 

本书所有示例都是用Mac OS X 10.8上的Xcode 5以及iOS 7开发的。你需要一个苹果开发人员账户来访问大部分工具和文档,并且需要一个开发人员许可证来运行iOS设备上的应用程序。对此,请参考http://developer.apple.com/programs/ios并注册账号。 

本书中大部分示例可以在Xcode 5的iOS模拟器中运行。使用iOS模拟器就不需要苹果开发人员许可证了。 

  • 声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,以上内容仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站内容来自网络收集整理或网友投稿,所提供的下载链接也是站外链接,版权争议与本站无关。您必须在下载后的24个小时之内,从您的设备中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版!我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!邮箱:121671486@qq.com,微信:diqiuren010101

学习考试资源网-58edu © All Rights Reserved.  湘ICP备12013312号-3 
站点地图| 免责说明| 合作请联系| 友情链接:学习乐园