《iOS编程》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)Christian Keur,(美)Aaron Hillegass著
  • 出 版 社:武汉:华中科技大学出版社
  • 出版年份:2019
  • ISBN:9787568044561
  • 页数:411 页
图书介绍:本书获21届Jolt生产力大奖。第6版更新了iOS 10、Xcode 8、Swift 3的内容。全书涵盖了开发iOS应用的方方面面。从Objective-C基础知识到新增加的语言特性;从AppKit库到常见的Cocoa设计模式;从Xcode技巧到Instrumentst等。如果读者刚接触iOS编程,阅 读本书前两章可以快速入门。如果读者已经有iOS编程经验,阅读本书可以拾遗补缺。本书的另一个特色是教读者以正确的方法解决问题。Objective-C的习惯约定有哪些(例如命名约定,内存管理约定),创建子类时如何处理初始化方法,Cocoa的常见设计模式有哪些,如何选择数据保存方法等。这些问题,如果读者自己摸索,难免费时费力。本书已经将这些知识整理、归纳并清楚地呈现在读者面前。

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

1.1 创建Xcode项目 2

1.2 模型-视图-控制器 5

1.3 设计Quiz 6

1.4 Interface Builder 7

1.5 创建界面 8

创建视图对象 9

设置视图对象 11

在模拟器上运行 12

Auto Layout简介 13

创建关联 16

1.6 创建模型对象 21

实现动作方法 22

加载第一个问题 22

1.7 编译完成的应用 23

1.8 应用图标 24

1.9 启动画面 26

第2章 Swift语言 27

2.1 Swift的数据类型 27

2.2 使用标准类型 28

推断类型 30

指定类型 30

字面量和角标 32

构造器 33

属性 34

实例方法 34

2.3 可选 35

字典角标 37

2.4 循环和字符串补全 37

2.5 枚举和Switch 38

枚举和初始值 39

2.6 查阅Apple的Swift文档 40

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

3.1 视图基础 41

3.2 视图层次结构 42

3.3 创建新项目 43

3.4 视图及Frame 44

自定义标签 51

3.5 自动布局系统 53

对齐矩形与布局属性 54

约束 55

通过Interface Builder添加约束 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.3 UITabBarController 83

UITabBarItem 85

5.4 加载以及展示视图 87

访问子视图 89

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

5.6 中级练习:夜间模式 90

5.7 深入学习:高清显示 90

第6章 用代码实现视图 93

6.1 使用代码创建视图 94

6.2 代码实现约束 95

锚点 96

激活约束 97

LayoutGuides 98

边距 99

约束的细节 100

6.3 代码实现事件 101

6.4 初级练习:再添加一个Tab 102

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

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

6.7 深入学习:NSAutoresizingMaskLayoutConstraint 103

第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 中级练习:Layout Guides 135

第9章 调试 137

9.1 Buggy项目 137

9.2 调试基础 139

解读控制台信息 139

修复第一个问题 141

原始调试 142

9.3 Xcode的调试器:LLDB 144

设置断点 145

单步调试代码 146

LLDB控制台 153

第10章 UITableView与UITableViewController 155

10.1 编写Homepwner应用 156

10.2 UITableViewController 157

创建UITableViewController子类 158

10.3 创建Item类 159

自定义构造方法 160

10.4 UITableView数据源 161

让控制器访问ItemStore 163

实现数据源方法 165

10.5 UITableViewCells 166

创建并获取UITableViewCell 167

重用UITableViewCell 169

10.6 内容缩进 171

10.7 初级练习:多个分组 172

10.8 中级练习:固定的行 173

10.9 高级练习:自定义UITableView 173

第11章 编辑UITableView 175

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 创建ItemCell 190

12.2 添加并关联ItemCell的属性 191

12.3 使用ItemCell 192

12.4 动态计算Cell高度 194

12.5 动态类型 194

响应用户的修改 196

12.6 初级练习:UITableViewCell的颜色 197

第13章 UIStackView 199

13.1 使用UIStackView 200

隐藏的约束 200

内容变多优先级 201

内容变少优先级 202

UIStackView的分配 202

嵌套的UIStackView 203

UIStackView间距 204

13.2 Segues 205

13.3 绑定内容 206

13.4 传递数据 211

13.5 初级练习:更多的UIStackView 212

第14章 UINavigationController 213

14.1 UINavigationController 214

14.2 使用UINavigationController导航 218

14.3 视图的出现和消失 218

14.4 隐藏键盘 219

事件处理基础 220

点击回车键来收起键盘 221

点击任意位置隐藏 221

14.5 UINavigationBar 223

在UINavigationBar上添加按钮 225

14.6 初级练习:显示数字键盘 228

14.7 中级练习:自定义UITextField 228

14.8 高级练习:添加更多UIViewController 228

第15章 相机 229

15.1 通过UIImageView对象显示图片 230

添加相机按钮 232

15.2 通过UIImagePickerController拍摄照片 234

设置UIImagePickerController对象的源 235

设置UIImagePickerController对象的委托 236

以模态的形式显示UIImagePickerController对象 237

权限 237

保存图片 240

15.3 创建ImageStore 240

15.4 让UIViewController可以访问ImageStore 242

15.5 创建并使用键 243

15.6 使用ImageStore 245

15.7 初级练习:编辑图片 246

15.8 中级练习:删除图片 246

15.9 高级练习:Camera Overlay 246

15.10 深入学习:导航实现文件 246

//MARK: 247

第16章 保存、读取与应用状态 249

16.1 固化 250

16.2 应用沙盒 252

创建文件URL 253

16.3 NSKeyedArchiver与NSKeyedUnarchiver 254

加载文件 257

16.4 应用状态与状态切换 257

16.5 通过NSData将数据写入文件 260

16.6 错误处理 263

16.7 初级练习:PNG 265

16.8 深入学习:应用状态切换 265

16.9 深入学习:文件系统读/写 266

16.10 深入学习:应用程序包 268

第17章 Size Classes 271

17.1 为特定的Size Classes定制界面 272

17.2 初级练习:垂直排列UITextField和UILabel 276

第18章 触摸事件和UIResponder 277

18.1 触摸事件 277

18.2 创建TouchTracker应用 279

18.3 创建Line结构体 280

结构体 281

值类型和指针类型对比 281

18.4 创建DrawView 281

18.5 使用DrawView画图 282

18.6 处理触摸事件并绘制线条 283

处理多点触摸 284

18.7 @IBInspectable 288

18.8 中级练习:颜色 290

18.9 高级练习:圆圈 290

18.10 深入学习:响应对象链 290

18.11 深入学习:UIControl 291

第19章 UIGestureRecognizer与UIMenuController 293

19.1 UIGestureRecognizer子类 294

19.2 使用UITapGestureRecognizer检测点击 294

19.3 多个UIGestureRecognizer 296

19.4 UIMenuController 299

19.5 更多UIGestureRecognizer 301

UIPanGestureRecognizer与同时识别 302

19.6 深入学习UIGestureRecognizer 306

19.7 中级练习:神奇的线条 307

19.8 高级练习:速度和大小 307

19.9 终极练习:颜色 307

19.10 深入学习:UIMenuController与UIResponderStandardEdit?ctions 308

第20章 网络服务 309

20.1 开始Photorama应用 310

20.2 创建URL 312

URL和请求格式 312

URLComponents 313

20.3 发送请求 316

URLSession 317

20.4 创建Photo模型 320

20.5 JSON数据 320

JSONSerialization 321

枚举和相关值 322

解析JSON数据 323

20.6 下载并显示图片数据 328

20.7 主线程 331

20.8 初级练习:打印返回信息 332

20.9 中级练习:从Flickr获取最新照片 332

20.10 深入学习:HTTP 333

第21章 UICollectionView 335

21.1 显示网格 336

21.2 UICollectionView数据源 338

21.3 自定义布局 341

21.4 创建自定义的UICollectionViewCell 343

21.5 下载照片数据 347

扩展 350

照片缓存 352

21.6 查看照片 353

21.7 中级练习:改变Item的尺寸 356

21.8 高级练习:自定义布局 356

第22章 Core Data 357

22.1 对象图 357

22.2 实体 358

模型实体 358

可变属性 360

NSManagedObject和它的子类 360

22.3 NSPersistentContainer 362

22.4 更新数据 363

插入数据 363

保存修改 365

22.5 更新数据源 365

NSFetchRequest和NSPredicate 365

22.6 初级练习:照片查看次数 369

22.7 深入学习:Core Data Stack 369

NSManagedObjectModel 369

NSPersistentStoreCoordinator 369

NSManagedObjectContext 370

第23章 Core Data关系 371

23.1 关系 372

23.2 在界面中添加标签 374

23.3 后台任务 383

23.4 中级练习:收藏 387

第24章 辅助功能 389

24.1 旁白 389

测试旁白 390

在Photorama中使用辅助功能 392

第25章 后记 397

25.1 接下来做什么 397

25.2 关注我们 398

索引 399