编辑推荐

iOS编程(第5版)》有两个特点:涵盖iOS应用开发必备知识:从Swift基础知识到新语言特性,从AppKit库到常见的Cocoa设计模式,从Xcode技巧到Instruments,不一而足。第二、指导读者以正确的方法解决问题:Swift的习惯约定有哪些(例如命名约定,内存管理约定),创建子类时如何处理初始化方法,Cocoa的常见设计模式有哪些,如何选择数据保存方法等。

内容简介

《iOS编程》荣获Jolt生产力大奖。第5版更新了iOS9、Xcode7、Swift的内容。《iOS编程(第5版)》涵盖了开发iOS应用的方方面面。从Swift基础知识到新增加的语言特性;从AppKit库到常见的Cocoa设计模式;从Xcode技巧到Instrumentst等。如果读者刚接触iOS编程,阅读《iOS编程(第5版)》前两章可以快速入门。如果读者已经有iOS编程经验,阅读《iOS编程(第5版)》可以拾遗补缺。

作者简介

ChristianKeur是BigNerdRanch的高级讲师和软件工程师,负责编写BigNerdRanch的“iOS新手培训课程”教材。该教材广受好评,是《iOS编程(第5版)》的原型。Christian毕业于美国佐治亚理工学院计算机科学系,目前居住在亚特兰大。

AaronHillegass是BigNerdRanch的创始人之一,曾就职于NeXT公司和Apple公司,他拥有近20年的Cocoa、iOS开发与教学经验。Aaron与他人合著了《MacOSX编程》。

精彩书评

阅读此书,转身成为iPhone/iPad程序员。

-DietrichKappe,PathfinderDevelopment公司CTO

目录

第1章第一个简单的iOS应用1

1.1创建Xcode项目2

1.2模型-视图-控制器5

1.3设计Quiz6

1.4InterfaceBuilder7

1.5创建界面8

1.6创建模型对象21

1.7编译完成的应用23

1.8应用图标24

1.9启动画面26

第2章Swift语言27

2.1Swift的数据类型27

2.2使用标准类型28

2.3可选35

2.4循环和字符串补全37

2.5枚举和Switch39

2.6查阅Apple的Swift文档40

第3章视图与视图层次结构41

3.1视图基础42

3.2视图层次结构42

3.3创建新项目44

3.4视图及Frame45

3.5自动布局系统55

3.6初级练习:更多自动布局练习64

第4章文本输入与委托65

4.1文本编辑65

4.2实现温度转换73

4.3委托76

4.3初级练习:禁止输入字母79

第5章视图控制器81

5.1视图控制器的视图82

5.2设置初始视图控制器82

5.3UITabBarController85

5.4加载以及展示视图90

5.5与视图控制器及其视图交互92

5.6中级练习:夜间模式93

5.7深入学习:高清显示93

第6章用代码实现视图95

6.1使用代码创建视图96

6.2代码实现约束97

6.3代码实现事件104

6.4初级练习:再添加一个Tab106

6.5中级练习:显示用户位置106

6.6高级练习:显示地图大头针106

6.7深入学习:NSAutoresizingMaskLayoutConstraint106

第7章本地化109

7.1国际化110

7.2本地化120

7.3初级练习:另外一种本地化126

7.4深入学习:NSBundle在国际化中扮演的角色126

7.5深入学习:导入以及导出XLIFF128

第8章控制动画129

8.1基础动画130

8.2另一个标签132

8.3动画完成135

8.4对约束作动画135

8.5时间方法139

8.6初级练习:spring动画141

8.7中级练习:LayoutGuides141

第9章UITableView与UITableViewController143

9.1编写Homepwner应用144

9.2UITableViewController145

9.3创建Item类147

9.4UITableView数据源149

9.5UITableViewCells153

9.6内容缩进158

9.7初级练习:多个分组159

9.8中级练习:固定的行160

9.9高级练习:自定义UITableView160

第10章编辑UITableView161

10.1编辑模式161

10.2添加行166

10.3删除行168

10.4移动行169

10.5显示提示窗口170

10.6设计模式173

10.7初级练习:修改删除按钮的标题174

10.8中级练习:禁止调整顺序174

10.9高级练习:真正地禁止调整顺序174

第11章创建UITableViewCell子类175

11.1创建ItemCell176

11.2添加并关联ItemCell的属性178

11.3使用ItemCell179

11.4动态计算高度180

11.5动态类型181

11.6初级练习:UITableViewCell的颜色184

第12章UIStackView185

12.1使用UIStackView186

12.2Segues194

12.3绑定内容195

12.4传递数据200

12.5初级练习:更多的UIStackView201

第13章UINavigationController203

13.1UINavigationController204

13.2使用UINavigationController导航209

13.3视图的出现和消失210

13.4隐藏键盘211

13.5UINavigationBar215

13.6初级练习:显示数字键盘220

13.7中级练习:自定义UITextField220

13.8高级练习:添加更多UIViewController220

第14章相机221

14.1通过UIImageView对象显示图片222

14.2通过UIImagePickerController拍摄照片226

14.3创建ImageStore231

14.4让UIViewController可以访问ImageStore232

14.5创建并使用键233

14.6使用ImageStore235

14.7初级练习:编辑图片236

14.8中级练习:删除图片237

14.9高级练习:CameraOverlay237

14.10深入学习:导航实现文件237

第15章保存、读取与应用状态241

15.1固化242

15.2应用沙盒245

15.3NSKeyedArchiver与NSKeyedUnarchiver248

15.4应用状态与状态切换251

15.5通过NSData将数据写入文件254

15.6错误处理257

15.7初级练习:PNG259

15.8深入学习:应用状态切换259

15.9深入学习:文件系统读/写261

15.10深入学习:应用程序包263

第16章SizeClasses265

16.1定制SizeClasses266

16.2初级练习:垂直排列UITextField和UILabel272

第17章触摸事件和UIResponder273

17.1触摸事件274

17.2创建TouchTracker应用275

17.3创建Line结构体276

17.4创建DrawView278

17.5使用DrawView画图279

17.6处理触摸事件并创建线条对象280

17.7@IBInspectable285

17.8中级练习:颜色287

17.9高级练习:圆圈287

17.10深入学习:响应对象链287

17.11深入学习:UIControl289

第18章UIGestureRecognizer与UIMenuController291

18.1UIGestureRecognizer子类292

18.2使用UITapGestureRecognizer检测点击292

18.3多个UIGestureRecognizer294

18.4UIMenuController297

18.5更多UIGestureRecognizer299

18.6深入学习UIGestureRecognizer304

18.7中级练习:神奇的线条305

18.8高级练习:速度和大小305

18.9铂金挑战:颜色305

18.10深入学习:UIMenuController与UIResponderStandardEditActions306

第19章网络服务307

19.1开始Photorama应用308

19.2创建URL309

19.3发送请求314

19.4Photo模型317

19.5JSON数据318

19.6下载并显示图片数据326

19.7主线程329

19.8初级练习:打印返回信息331

19.9深入学习:HTTP331

第20章UICollectionView333

20.1显示网格334

20.2UICollection数据源336

20.3自定义布局339

20.4创建自定义的UICollectionViewCell341

20.5下载图片数据345

20.6查看照片349

20.7中级练习:改变Item的尺寸352

20.8高级练习:自定义布局352

第21章CoreData353

21.1对象图353

21.2实体354

21.3创建CoreDataStack358

21.4更新数据361

21.5更新数据源364

21.6在硬盘上保存图片367

21.7初级练习:照片查看次数368

第22章CoreData关系369

22.1关系370

22.2在界面中添加标签372

22.3父子NSManagedObjectContext382

22.4中级练习:收藏384

第23章后记385

23.1接下来做什么385

23.2关注我们386

索引387

精彩书摘

iOS编程(第5版)》中所有代码都是使用Swift语言编写的,前面的章节会让读者快速熟悉这门新语言。通过《iOS编程(第5版)》,读者会学到如何利用Swift语言特性来编写更好的iOS应用。我们已经爱上Swift了,相信你也会的。

其他新增的部分包括collectionview、sizeclass、AutoLayout、webservice、CoreData。

第5版使用的是Xcode7.1或更新的版本,应用在安装iOS9或更新版本的设备上运行。

除了以上这些明显的变化,作者还根据读者和学生提出的问题对《iOS编程(第5版)》进行了大量修订。可以说与前一版本相比,新版页页有改进。

前言/序言

要成为一名优秀的iOS程序员,需要攻克以下三道难题。

必须学会Swift语言。Swift是iOS推荐的开发语言。《iOS编程(第5版)》前两章会讲解必要的Swift语言知识。

必须掌握一些主要概念。其中包括委托(delegation)机制、固化(archiving)机制,以及如何正确使用视图控制器(viewcontroller)。理解这些技术需要花些时间。当读者把《iOS编程(第5版)》读到一半时,就会明白这些概念。

必须掌握框架(framework)。读者的最终目标是了解iOS的所有框架,学会如何使用框架中的每一个类和方法。但这几乎是不可能完成的任务:iOS有几百个类和上千个方法,而且随着iOS的版本升级,Apple还会不断地加入新的类和新的方法。《iOS编程(第5版)》将会介绍iOSSDK中的各个组成部分,但是不会太过深入。作者的目标是带领读者入门,使读者能够自行阅读并理解Apple的参考文档。

BigNerdRanch公司采用《iOS编程(第5版)》作为“iOS新手培训课程”的教材。这些内容经过了长期的检验,并且帮助很多人成为iOS程序员。真心希望《iOS编程(第5版)》也能给你带来帮助。


其他推荐