新書推薦:
《
可控性混乱
》
售價:HK$
66.1
《
篡魏:司马懿和他的夺权同盟
》
售價:HK$
65.0
《
狂飙年代:18世纪俄国的新文化和旧文化(第三卷)
》
售價:HK$
177.0
《
协和专家大医说:医话肿瘤
》
售價:HK$
109.8
《
潜水指南 全彩图解第4版
》
售價:HK$
132.2
《
超大规模集成电路设计——从工具到实例
》
售價:HK$
88.5
《
村上春树·旅(一本充满村上元素的旅行指南,带你寻访电影《挪威的森林》拍摄地,全彩印刷;200余幅摄影作品)
》
售價:HK$
66.1
《
智能驾驶硬件在环仿真测试与实践
》
售價:HK$
155.7
|
編輯推薦: |
1. 无论是科技书还是教材,率先围绕企业级实战案例的Swift开发读物。 2. 本书相关代码及架构,由传智播客高级讲师完成,且长期授课实践。 3. 配套PPT及学习视频。
|
內容簡介: |
内容提要 Swift是苹果公司于2014年推出的一种全新语言,它正在逐步替代Objective-C语言进行iOS应用开发。基于Swift的市场份额越来越大,广大开发者使用Swift语言开发iOS应用势在必行。 本书以OS X 10.11为平台,以Xcode 7.3.1为开发工具,采用理论加实战的方式,循序渐进地带领大家开发了一个微博项目。该项目基于新浪微博官方提供的API进行开发,可以更好地帮助大家学习和理解项目结构、新浪微博的认证授权以及新浪API的调用。 本书共分为15章,其中第1章讲解项目搭接的准备工作,包括项目相关介绍、项目的创建、架构的搭接等。第2~14章从项目架构搭接开始,带领大家开发了微博项目的核心功能。第15章介绍了项目测试以及发布的流程。通过本书的学习,相信读者能够具备独自开发iOS应用的能力,成为Swift开发人才。 本书附有配套视频、源代码、教学课件等资源,为了帮助读者更好地学习本书内容,还提供了在线答疑,希望可以帮助更多读者。 本书既可作为高等院校本、专科计算机相关专业的教学用书,也可作为社会培训机构的参考用书,还可作为iOS开发爱好者的自学读物。
|
關於作者: |
黑马程序员,传智播客旗下高端IT教育代表,成立于2006年,它是由中国Java培训师张孝祥老师发起,联合全球中文IT社区CSDN、中关村软件园共同创办的一家专业教育机构。办学至今,我们一直坚守着为千万人少走弯路而著书,为中华软件之崛起而讲课的办学理念,坚持培养软件应用工程师的宏伟目标,在累计培养的十万余名学员中,其中90%的学员均已在北、上、广等一线城市高薪就业,特别是黑马程序员的平均就业薪资已达到8K以上。为了迎合软件市场的需求,我们陆续开设了Java、网页平面、PHP、.Net、iOS、CC、Android等9个专业方向的课程,并且未来将逐渐开设其他专业方向的课程。随着传智播客的日益壮大,除了北京总部,我们在上海、广州、武汉、成都、深圳等地也创立了直营分支机构,传智播客俨然已成为了国内专业口碑的IT教育机构。
|
目錄:
|
目录
第1章 项目简介开门见山 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 HTTP协议 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
第10章 微博转发 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
第11章 发布微博 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
第12章 给配图微博添加查看器 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
第13章 数据缓存 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
第14章 微博优化 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
第15章 项目调试和发布 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
|
|