基于Swift语言的iOSApp商业实战教程黑马程序员人民邮电出版社pdf下载pdf下载

基于Swift语言的iOSApp商业实战教程黑马程序员人民邮电出版社百度网盘pdf下载

作者:
简介:本篇主要提供基于Swift语言的iOSApp商业实战教程黑马程序员人民邮电出版社pdf下载
出版社:东润堂图书专营店
出版时间:2017-02
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

基本信息

书名:基于Swift语言的iOS App 商业实战教程

定价:74.00元

作者:黑马程序员

出版社:人民邮电出版社

出版日期:2017-02-01

ISBN:9787115440938

字数:722000.000

页码:447

版次:

装帧:平装-胶订

开本:16开

商品重量:

编辑推荐


1. 无论是科技书还是教材,率先围绕企业级实战案例的Swift开发读物。2. 本书相关代码及架构,由传智播客高级讲师完成,且长期授课实践。3. 配套PPT及学习视频。

内容提要


内容提要Swift是苹果公司于2014年推出的一种全新语言,它正在逐步替代Objective-C语言进行iOS应用开发。基于Swift的市场份额越来越大,广大开发者使用Swift语言开发iOS应用势在必行。本书以OS X 10.11为平台,以Xcode 7.3.1为开发工具,采用理论加实战的方式,循序渐进地带领大家开发了一个微博项目。该项目基于新浪微博官方提供的API进行开发,可以更好地帮助大家学习和理解项目结构、新浪微博的认证授权以及新浪API的调用。本书共分为15章,其中章讲解项目搭接的准备工作,包括项目相关介绍、项目的创建、架构的搭接等。第2~14章从项目架构搭接开始,带领大家开发了微博项目的核心功能。5章介绍了项目测试以及发布的流程。通过本书的学习,相信读者能够具备独自开发iOS应用的能力,成为Swift开发人才。本书附有配套视频、源代码、教学课件等资源,为了帮助读者更好地学习本书内容,还提供了在线答疑,希望可以帮助更多读者。本书既可作为高等院校本、专科计算机相关专业的教学用书,也可作为社会培训机构的参考用书,还可作为iOS开发爱好者的自学读物。

目录


目录





章 项目简介——“开门见山” 1

1.1 项目介绍 2

1.1.1 项目背景介绍 2

1.1.2 项目注册 2

1.1.3 接口文档的获取和查看 5

1.1.4 项目功能介绍 8

1.2 Swift语言介绍 12

1.3 搭建开发环境 12

1.3.1 Xcode概述 12

1.3.2 Xcode工具的下载安装 13

1.4 项目目标 15

1.5 本章小结 15



第2章 微博开发准备——“工欲善其事,必先利其器” 16

2.1 创建微博工程 17

2.1.1 新建项目 17

2.1.2 默认项目架构 19

2.1.3 了解程序启动的原理 20

2.2 设置项目启动信息 21

2.2.1 设置应用名称 21

2.2.2 设置应用图标 21

2.2.3 设置启动图片 23

2.3 项目整体架构 26

2.3.1 了解什么是视图(UIView) 27

2.3.2 了解视图控制器(UIViewController) 28

2.3.3 导航控制器的使用场景 28

2.3.4 标签控制器的使用场景 29

2.3.5 确定项目整体架构 29

2.3.6 MVC与MVVM模式 30

2.4 本章小结 32



第3章 微博项目搭建——“万丈高楼平地起” 33

3.1 设置项目目录结构 34

3.1.1 设置目录结构 34

3.1.2 创建各个控制器模板文件 36

3.1.3 显示控制器的界面 38

3.2 添加子控制器 39

3.2.1 标签控制器的组成 39

3.2.2 导航控制器的组成 41

3.2.3 设置标签和标题 42

3.3 添加撰写按钮 44

3.3.1 了解什么是按钮控件(UIButton) 44

3.3.2 自定义Tab Bar 45

3.3.3 按钮监听方法 48

3.4 本章小结 49



第4章 访客视图 50

4.1 分析访客视图与现有架构的关系 51

4.2 创建表格视图控制器基类 52

4.2.1 了解视图的加载机制 52

4.2.2 添加表视图控制器基类 53

4.3 分析访客视图界面 54

4.3.1 标签控件(UILabel) 54

4.3.2 图片控件(UIImageView) 55

4.3.3 分析访客视图界面元素 56

4.4 开发访客视图界面 58

4.4.1 创建访客视图 58

4.4.2 添加图片控件 59

4.4.3 了解自动布局(Auto Layout) 60

4.4.4 使用自动布局(Auto Layout) 61

4.4.5 使用自动布局设置图片的位置 63

4.4.6 添加其他控件 64

4.4.7 VFL语言 67

4.4.8 添加遮罩视图,并使用VFL布局位置 69



4.4.9 设置未登录信息 70

4.5 首页动画 74

4.5.1 了解iOS中的基本动画 74

4.5.2 为首页转轮图片设置动画 75

4.6 本章小结 75



第5章 第三方框架介绍 76

5.1 CocoaPods工具 77

5.1.1 CocoaPods工具简介 77

5.1.2 安装CocoaPods工具 78

5.2 AFNetworking框架 78

5.3 SnapKit框架 79

5.4 SDWebImage框架 84

5.4.1 SDWebImage框架的安装 84

5.4.2 SDWebImage框架的简单使用 86

5.5 SVProgressHUD框架 87

5.5.1 SVProgressHUD框架介绍 87

5.5.2 使用SVProgressHUD框架 88

5.6 本章小结 88



第6章 封装网络工具类 89

6.1 网络编程基础知识 90

6.1.1 网络编程简单工作原理 90

6.1.2 URL介绍 90

6.1.3 协议 92

6.1.4 GET和POST方法 92

6.2 封装网络工具类 93

6.2.1 网络封装原理 93

6.2.2 使用CocoaPods工具导入AFNetworking框架 94

6.2.3 了解什么是单例模式 95

6.2.4 创建网络工具类 96

6.3 本章小结 101



第7章 登录授权 102

7.1 OAuth机制 103

7.1.1 OAuth机制介绍 103

7.1.2 OAuth机制的使用流程 103

7.1.3 新浪微博的Oauth 2.0授权机制 104

7.2 获取访问令牌 105

7.2.1 分析如何获取访问令牌 105

7.2.2 了解什么是Web视图 106

7.2.3 使用Web视图加载登录授权页面 108

7.2.4 利用JS注入填充用户名和密码 111

7.2.5 获取授权码(code) 115

7.2.6 获取访问令牌(access_token) 117

7.3 加载用户信息 120

7.3.1 了解JSON文档的结构 120

7.3.2 解析JSON文档 121

7.3.3 了解字典转模型的机制 122

7.3.4 创建用户账号模型 123

7.3.5 处理令牌的过期日期 124

7.3.6 使用令牌加载用户信息 125

7.4 归档用户信息到本地 127

7.4.1 了解沙盒机制 127

7.4.2 沙盒的目录结构 128

7.4.3 沙盒目录获取方式 129

7.4.4 对象归档技术 130

7.4.5 归档和解档当前用户的信息 131

7.4.6 创建用户视图模型 132

7.5 本章小结 137



第8章 新特性和欢迎界面 138

8.1 为项目添加新特性界面 139

8.1.1 分析新特性界面 139

8.1.2 介绍集合视图(UICollectioView) 139

8.1.3 创建新特性视图控制器 144

8.1.4 设置数据源 145

8.1.5 设置集合视图的布局 146

8.1.6 自定义集合视图单元格(cell) 146

8.1.7 使用UIView实现动画 148

8.1.8 “开始体验”按钮动画 149

8.2 为项目添加欢迎界面 151

8.2.1 分析欢迎界面 151

8.2.2 欢迎界面布局 152

8.2.3 欢迎界面动画 157

8.2.4 设置用户头像 159

8.3 切换界面 159

8.3.1 界面切换流程分析 159

8.3.2 介绍偏好设置(NSUserDefaults) 160

8.3.3 显示程序启动后的界面 161

8.3.4 欢迎界面跳转到首页界面 163

8.3.5 新特性界面跳转到首页界面 164

8.3.6 访客视图跳转到欢迎界面 164

8.4 本章小结 165



第9章 微博首页 166

9.1 微博数据模型 168

9.1.1 获取微博数据 168

9.1.2 字典转换成模型 170

9.1.3 表视图(UITableView) 171

9.1.4 表视图单元格(UITableViewCell) 174

9.1.5 表格显示微博数据 176

9.1.6 嵌套用户模型 179

9.1.7 微博视图模型 181

9.2 文字微博布局 183

9.2.1 分析无图微博的布局 183

9.2.2 自定义单元格 184

9.2.3 顶部视图布局 187

9.2.4 内容标签布局 192

9.2.5 底部视图布局 194

9.2.6 单元格细节调整 199

9.2.7 全局修改函数的名字 200

9.3 配图微博布局 202

9.3.1 微博中图片的显示方式 202

9.3.2 准备配图需要的数据 202

9.3.3 添加配图视图 208

9.3.4 修改配图视图宽高 209

9.3.5 计算配图视图的大小 210

9.3.6 计算微博单元格的行高 213

9.3.7 了解图像视图的填充模式 214

9.3.8 给配图单元格设置图片 215

9.3.9 给图片添加GIF标记 217

9.4 本章小结 218



0章 微博转发 219

10.1 显示转发的微博 220

10.1.1 转发微博分析 220

10.1.2 准备数据模型 221

10.1.3 搭建转发微博单元格 222

10.1.4 设置被转发微博的数据 226

10.1.5 处理原创微博与转发微博的互融 227

10.1.6 了解GCD技术 229

10.1.7 调整单张图片的显示 230

10.2 刷新微博 233

10.2.1 下拉刷新模式 233

10.2.2 下拉刷新控件 235

10.2.3 分析微博刷新的过程 237

10.2.4 使用Xib自定义下拉刷新控件 240

10.2.5 KVO机制 245

10.2.6 使用KVO监听刷新控件的位置变化 246

10.2.7 提示箭头旋转动画 248

10.2.8 播放和停止加载动画 249

10.2.9 自定义上拉刷新控件 251

10.2.10 刷新用到的网络数据 252

10.2.11 下拉刷新提示数量标签 255

10.3 表情键盘 256

10.3.1 多行文本控件(UITextView) 256

10.3.2 创建表情键盘视图 258

10.3.3 表情键盘界面布局 259

10.3.4 项目添加文件夹的3种方式 265

10.3.5 加载数据模型 266

10.3.6 显示表情符号 268

10.3.7 显示emoji表情 270

10.3.8 提升数据模型 271

10.3.9 选中表情事件 275

10.3.10 实现图文混排 276

10.3.11 处理发布微博的文本 278

10.3.12 简化控制器的代码 281

10.4 本章小结 284



1章 发布微博 285

11.1 发布文本和图片微博 286

11.1.1 发布微博过程分析 286

11.1.2 工具条控件(UIToolbar) 287

11.1.3 搭建发布微博的界面 289

11.1.4 弹出键盘和关闭键盘介绍 296

11.1.5 实现系统键盘的弹出和关闭 297

11.1.6 在项目中整合表情键盘 298

11.1.7 发布文字微博 300

11.1.8 发布带图片的微博 303

11.2 给微博选择照片 305

11.2.1 用户选择照片发布的流程 305

11.2.2 选择照片功能的实现流程 307

11.2.3 图片选择器(UIImagePickerController) 308

11.2.4 开发独立的照片选择项目 310

11.2.5 将照片选择功能整合到微博项目 323

11.3 本章小结 327



2章 给配图微博添加查看器 328

12.1 照片查看器功能分析 329

12.1.1 了解照片查看器的功能 329

12.1.2 分析图片数据的传递方式 330

12.1.3 屏幕滚动控件(UIScrollView) 331

12.1.4 分析图片查看器的视图结构 334

12.2 照片查看器功能的实现 335

12.2.1 实现数据传递 335

12.2.2 准备图片查看控制器 337

12.2.3 使用贝塞尔路径(UIBezierPath)绘图 338

12.2.4 手势识别(UIGestureRecognizer) 338

12.2.5 搭建图片查看界面 341

12.2.6 实现图片查看的功能 342

12.3 为照片查看器添加转场动画 353

12.3.1 什么是转场动画 354

12.3.2 了解照片查看器的转场功能 355

12.3.3 分析转场过程中视图的层次结构 356

12.3.4 分析图像的起始位置和目标位置 357

12.3.5 初步完成自定义转场动画 358

12.3.6 通过代理展现转场动画 363

12.3.7 通过代理解除转场动画 371

12.4 本章小结 376



3章 数据缓存 377

13.1 SQLite数据库 378

13.1.1 SQLite数据库简介 378

13.1.2 SQL语句介绍 379

13.1.3 使用SQLite3存储对象 380

13.2 FMDB框架的使用 380

13.2.1 获取FMDB框架 380

13.2.2 FMDB框架核心类 381

13.2.3 使用FMDB框架操作数据库 381

13.3 使用FMDB缓存微博数据 393

13.3.1 分析微博缓存的原理 393

13.3.2 实现微博缓存 394

13.4 清理数据存储 402

13.5 本章小结 404



4章 微博优化 405

14.1 和日期相关的类 406

14.1.1 NSDate类(日期和时间) 406

14.1.2 NSDateFormatter类(日期格式器) 406

14.1.3 NSCalendar类 407

14.2 微博日期处理 408

14.2.1 了解微博的日期的显示方式 408

14.2.2 处理微博日期格式 408

14.3 使用正则表达式处理微博来源 412

14.3.1 了解正则表达式处理字符串 412

14.3.2 使用正则表达式过滤接口的来源信息 413

14.4 使用表情文字 415

14.4.1 准备工作 416

14.4.2 测试普通字符串转换成属性字符串 417

14.4.3 将功能代码移到EmoticonManager类里面 419

14.4.4 微博项目整合表情字符串功能 420

14.5 使用FFLabel框架响应超链接 421

14.5.1 导入FFLabel框架 422

14.5.2 替换系统的UILabel控件 423

14.5.3 监听链接的单击 424

14.5.4 响应超文本的链接 425

14.6 开发 近使用表情的功能 428

14.7 本章小结 430



5章 项目调试和发布 432

15.1 真机测试 433

15.2 发布App到App Store流程 437

15.2.1 申请开发者账号 437

15.2.2 登录开发者中心 437

15.2.3 生成发布证书 438

15.2.4 在Xcode中打包工程上传 444

15.2.5 在App Store上开辟空间 446

15.3 本章小结 447



作者介绍


黑马程序员,传智播客旗下高端IT教育代表,成立于2006年,它是由中国Java培训师张孝祥老师发起,联合全球中文IT社区CSDN、中关村软件园共同创办的一家专业教育机构。办学至今,我们一直坚守着“为千万人少走弯路而著书,为中华软件之崛起而讲课”的办学理念,坚持培养软件应用工程师的宏伟目标,在累计培养的十万余名学员中,其中90%的学员均已在北、上、广等一线城市高薪就业,特别是“黑马程序员”的平均就业薪资已达到8K以上。为了迎合软件市场的需求,我们陆续开设了Java、网页平面、PHP、.Net、iOS、C/C 、Android等9个专业方向的课程,并且未来将逐渐开设其他专业方向的课程。随着传智播客的日益壮大,除了北京总部,我们在上海、广州、武汉、成都、深圳等地也创立了直营分支机构,传智播客俨然已成为了专业口碑的IT教育机构。

序言