第一部分 2
第1章 创建项目并集成LeanCloud SDK 2
1.1 访问LeanCloud 3
1.2 创建Xcode项目——Instagram 4
1.3 将LeanCloud SDK集成到iOS项目中 5
1.4 初始化LeanCloud SDK 7
本章小结 10
第2章 创建用户登录界面 11
2.1 从故事板中创建视图 11
2.2 搭建用户的登录界面 13
2.3 为SignInVC类和视图创建Outlet和Action关联 16
2.3.1 什么是Outlet和Action 16
2.3.2 为SignInVC创建Outlet 17
2.3.3 为SignInVC创建Action 20
2.4 调整模拟设备 22
本章小结 22
第3章 创建用户注册界面 23
3.1 利用滚动视图创建用户注册界面 23
3.2 创建Outlet和Action关联 26
3.3 让注册视图消失 29
本章小结 30
第4章 注册视图中编写与界面相关的代码 31
4.1 获取当前屏幕的尺寸 31
4.2 添加键盘相关的Notification通知 33
4.3 Swift语言中的可选特性 35
4.4 以动画的方式改变滚动视图的高度 39
4.5 通过Tap手势让虚拟键盘消失 40
本章小结 41
第5章 设置注册页面的用户头像 42
5.1 为ImageView添加单击手势识别 42
5.2 创建照片获取器 43
5.3 访问照片库的前期准备 45
5.4 将Image View的外观设置为圆形 47
本章小结 48
第6章 提交用户注册信息到LeanCloud 49
6.1 检验用户输入的数据 49
6.2 if语句中对可选链的处理 50
6.3 使用UIAlertController显示警告信息 50
6.4 提交数据到LeanCloud平台 52
6.5 在LeanCloud云端查看提交的信息 54
本章小结 55
第7章 用户登录 56
7.1 利用UserDefaults存储用户信息 56
7.2 SignInVC中的用户登录 60
本章小结 61
第8章 创建项目并集成LeanCloud SDK 62
8.1 删除已经安装到模拟器中的App 62
8.2 创建密码重置页面的视图 63
8.3 完成重置控制器代码 65
本章小结 66
第9章 调整注册和登录界面的布局 67
9.1 通过Size Classes查看界面布局在不同设备上的效果 67
9.2 对登录界面布局 68
9.3 对注册界面布局 70
9.4 对密码重置界面布局 72
本章小结 72
第10章 美化Instagram 73
10.1 添加字体 73
10.2 设置各功能视图的背景图 74
10.3 注册用户的邮箱校验 77
本章小结 78
第二部分 80
第11章 创建Home Page用户界面 80
11.1 在故事板中搭建集合视图 80
11.2 为集合视图创建代码类 83
11.3 添加Outlet和Action 84
11.4 调整集合单元格 85
本章小结 87
第12章 从云端读取当前用户信息 88
12.1 创建个人主页与标签控制器的关联 88
12.2 修改HomeVC的代码 89
12.3 应用程序传输安全协议 93
12.4 设置导航栏标题 94
本章小结 95
第13章 在个人主页中显示帖子信息 96
13.1 在LeanCloud云端创建数据类 96
13.2 编写接收数据的代码 99
13.3 创建单元格相关代码 102
本章小结 105
第14章 获取用户的帖子及关注数 106
14.1 注册后的用户登录 106
14.2 在云端创建关注记录 108
14.3 获取用户相关数据信息 110
本章小结 111
第15章 与统计数据之间的交互 112
15.1 在故事板中创建表格视图控制器 112
15.2 创建Outlet关联 113
15.3 统计数据被单击后的实现代码 115
本章小结 118
第16章 从云端载入关注人员信息 119
16.1 从云端获取关注人员信息 119
16.2 创建表格视图的单元格 120
16.3 设置关注按钮的状态 122
16.4 添加关注和取消关注 125
本章小结 127
第17章 创建访客的相关功能 128
17.1 在故事板中创建用户界面 128
17.2 实现GuestVC类的代码 129
17.3 从云端获取访客的帖子信息 132
17.4 获取访客个人页面的Header信息 134
17.5 单击访客统计数据后的实现代码 136
17.6 从其他控制器切换到GuestVC 138
17.7 对于访客的关注和取消关注 140
本章小结 141
第18章 设置访客页面的布局 142
18.1 用户的退出 142
18.2 设置HeaderView的布局 143
18.3 设置集合视图单元格的大小 145
18.4 关注页面的布局 146
本章小结 147
第三部分 150
第19章 创建用户配置界面 150
19.1 在故事板中创建个人配置控制器视图 150
19.2 创建Action和Outlet关联 154
19.3 为视图创建布局代码 155
19.4 实现与界面相关的代码 158
本章小结 162
第20章 个人配置页面数据的接收与提交 163
20.1 从云端获取个人用户信息 163
20.2 对Email和Web进行正则判断 164
20.3 发送信息到服务器 167
20.4 更新个人主页信息 169
本章小结 170
第21章 实现帖子上传功能 171
21.1 在故事板中创建上传用户界面 171
21.2 创建上传控制器代码类 173
21.3 实现照片获取器的相关代码 174
21.4 实现上传的相关代码 177
21.5 在个人主页刷新集合视图 179
21.6 移除上传页面中的照片 181
本章小结 183
第22章 实现分页载入功能 184
22.1 为HomeVC实现分页载入功能 184
22.2 为GuestVC实现分页载入功能 187
本章小结 187
第23章 搭建帖子控制器的界面 188
23.1 创建帖子控制器界面 188
23.2 创建单元格的Outlet关联 191
23.3 整理PostVC类的代码 191
23.4 生成表格视图的单元格 194
23.5 从HomeVC切换到PostVC时的代码实现 196
本章小结 198
第24章 设置帖子单元格的布局 199
24.1 设置单元格垂直方向的布局 199
24.2 设置单元格水平方向的布局 201
本章小结 203
第25章 进一步美化程序界面 204
25.1 为按钮定制Icon图 204
25.2 美化导航栏 205
25.3 美化标签栏 206
25.4 调整上传照片页面 207
25.5 设置标签栏中的Item 210
本章小结 210
第四部分 212
第26章 喜爱按钮的功能实现 212
26.1 设置喜爱按钮状态及显示喜爱的数量 212
26.2 实现喜爱按钮的交互 213
26.3 实现照片的双击交互 216
26.4 实现用户名的单击交互 217
本章小结 218
第27章 创建用户评论界面 219
27.1 创建评论控制器的用户界面 219
27.2 完善用户界面代码 221
27.3 在PostVC中实现评论按钮的交互 223
27.4 对CommentCell的控件布局 225
27.5 实现评论控制器的功能代码 226
本章小结 229
第28章 实现评论的相关功能 230
28.1 实现TextView的功能 230
28.2 实现Table View的功能 233
28.3 从云端载入评论 235
本章小结 238
第29章 实现评论的特色功能 239
29.1 发送评论到云端 239
29.2 与用户名的交互 241
29.3 删除评论 242
29.4 @Address操作 244
29.5 投诉评论 245
29.6 为三个Action添加背景图 248
本章小结 248
第30章 实现Hashtags和Mentions功能 249
30.1 实现Hashtag和Mention的识别功能 249
30.2 实现Mention的交互 254
30.3 将Hashtag发送到云端 256
本章小结 259
第31章 创建Hashtag控制器 260
31.1 创建Hashtag控制器界面 260
31.2 实现Hashtag的交互 262
31.3 实现HashtagsVC类的代码 263
本章小结 269
第32章 处理More按钮的响应交互 270
32.1 创建More按钮的Action关联 270
32.2 创建More按钮的交互代码 271
32.3 为项目设置返回和退出按钮 274
32.4 处理不存在的用户 276
本章小结 278
第五部分 280
第33章 创建Feed控制器 280
33.1 创建Feed控制器的用户界面 280
33.2 实现FeedVC控制器的代码 283
33.3 实现FeedVC控制器表格视图相关代码 287
33.4 设置Feed页面的Icon 290
本章小结 291
第34章 创建用户搜索功能 292
34.1 创建搜索控制器用户界面 292
34.2 实现用户搜索功能 295
34.3 在表格视图中显示搜索结果 297
34.4 设置搜索页面的Icon 299
34.5 在UsersVC中实现集合视图 300
本章小结 306
第35章 创建通知控制器界面 307
35.1 搭建通知控制器的用户界面 307
35.2 设置通知页面的Icon 309
35.3 评论或@mention的通知处理 309
35.4 Like的通知处理 312
35.5 Follow的通知处理 314
35.6 设置NewsCell中界面控件的布局 315
本章小结 316
第36章 接收数据到通知控制器 317
36.1 从News数据表中接收数据 317
36.2 处理News单元格的交互操作 320
36.3 设置通知页面的图标 323
本章小结 327
第37章 对用户界面的再改进 328
37.1 设置上传标签 328
37.2 设置按钮为圆角 329
37.3 调整通知提示条的动画 331
37.4 调整标签栏中Item的设置 331
本章小结 331