内容简介
《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版)》也能给你带来帮助。