内容简介

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

作者简介

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

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

目录

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

1.1创建Xcode项目2

1.2模型-视图-控制器5

1.3设计Quiz6

1.4InterfaceBuilder7

1.5创建界面8

创建视图对象9

设置视图对象11

在模拟器上运行12

AutoLayout简介13

创建关联16

1.6创建模型对象21

实现动作方法22

加载第一个问题22

1.7编译完成的应用23

1.8应用图标24

1.9启动画面26

第2章Swift语言27

2.1Swift的数据类型27

2.2使用标准类型28

推断类型30

指定类型30

字面量和角标32

构造器33

属性34

实例方法34

2.3可选35

字典角标37

2.4循环和字符串补全37

2.5枚举和Switch38

枚举和初始值39

2.6查阅Apple的Swift文档40

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

3.1视图基础41

3.2视图层次结构42

3.3创建新项目43

3.4视图及Frame44

自定义标签51

3.5自动布局系统53

对齐矩形与布局属性54

约束55

通过InterfaceBuilder添加约束57

内部内容大小58

视图位置错误60

添加更多约束61

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

第4章文本输入与委托63

4.1文本编辑63

键盘属性66

响应UITextField文字改变事件67

隐藏键盘70

4.2实现温度转换71

数字格式化73

4.3委托74

实现协议75

使用委托75

更多协议77

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

第5章视图控制器79

5.1视图控制器的视图80

5.2设置初始视图控制器80

5.3UITabBarController83

UITabBarItem85

5.4加载以及展示视图87

访问子视图89

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

5.6中级练习:夜间模式90

5.7深入学习:高清显示90

第6章用代码实现视图93

6.1使用代码创建视图94

6.2代码实现约束95

锚点96

激活约束97

LayoutGuides98

边距99

约束的细节100

6.3代码实现事件101

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

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

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

6.7深入学习:NSAutoresizingMaskLayoutConstraint103

第7章本地化105

7.1国际化106

格式化106

基础国际化109

准备本地化110

7.2本地化114

NSLocalizedString以及字符串表117

7.3初级练习:增加另外一种语言的本地化120

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

7.5深入学习:导入和导出XLIFF文件121

第8章控制动画123

8.1基础动画124

闭包124

8.2另一个标签126

8.3动画完成129

8.4对约束作动画129

8.5时间方法133

8.6初级练习:Spring动画135

8.7中级练习:LayoutGuides135

第9章调试137

9.1Buggy项目137

9.2调试基础139

解读控制台信息139

修复第一个问题141

原始调试142

9.3Xcode的调试器:LLDB144

设置断点145

单步调试代码146

LLDB控制台153

第10章UITableView与UITableViewController155

10.1编写Homepwner应用156

10.2UITableViewController157

创建UITableViewController子类158

10.3创建Item类159

自定义构造方法160

10.4UITableView数据源161

让控制器访问ItemStore163

实现数据源方法165

10.5UITableViewCells166

创建并获取UITableViewCell167

重用UITableViewCell169

10.6内容缩进171

10.7初级练习:多个分组172

10.8中级练习:固定的行173

10.9高级练习:自定义UITableView173

第11章编辑UITableView175

11.1编辑模式175

11.2添加行179

11.3删除行181

11.4移动行182

11.5显示弹窗183

11.6设计模式186

11.7初级练习:修改删除按钮的标题187

11.8中级练习:禁止调整顺序187

11.9高级练习:真正地禁止调整顺序187

第12章创建UITableViewCell子类189

12.1创建ItemCell190

12.2添加并关联ItemCell的属性191

12.3使用ItemCell192

12.4动态计算Cell高度194

12.5动态类型194

响应用户的修改196

12.6初级练习:UITableViewCell的颜色197

精彩书摘

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

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

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

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

前言/序言

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

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

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

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

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


其他推荐