Skip to content

Commit 879b28e

Browse files
committed
Add Content
1 parent 0648c29 commit 879b28e

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

chapter5/conclusion.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,20 @@
11
# 总结
2+
3+
本章我们使用`ReactiveCocoa`做了很多实践,总结了几个关键点:
4+
5+
- 函数式编程可在任何地方起作用
6+
- 数据导入的代码,即使没有反应式代码,我们也能够使用`map:`和`filter:`来帮忙。在抽象方面,总觉得从未被实际实现。
7+
8+
9+
- 为函数的副作用使用`subscribeNext:`
10+
- `subscribeNext:`和其他类似的方法订阅信号的副作用,返回`RACDisposable`实例(这种实例将被传阅,直到信号完成被回收为止)
11+
为副作用使用这些方法---使得事物看起来像主动跟外界(一个没有反应式的世界)交互似的。
12+
13+
14+
- 避免显示状态下进行订阅处理
15+
- 按照设计准则,无论何时都应该避免显示的订阅处理。请记住我们是怎样用`takeUntil:`来自动处理`FRPCell`类的订阅的。使用`takeUntil:`允许信号值通过,直到它的参数被传递下去或者它自己的值完成。基本上这种情况下,接收者已经完成接收了。
16+
17+
- 内存管理的魔法
18+
- ARC下,在代码的表面上你摆脱了内存管理。`ReactiveCocoa`中也一样。唯一要注意的是,不能在任何signal的block中捕捉self。
19+
20+
以上,就是第五章的全部内容。接下来我们将介绍Model-View-ViewModel这种程序架构,给App添加一个日志系统,并写一些单元测试,出发吧!

chapter5/networking_layer_revisited.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,3 +164,4 @@ reduceEach:^id(NSURLResponse *response, NSData *data) {
164164
}
165165
```
166166

167+

0 commit comments

Comments
 (0)