通过实现Observable学习Rx
从我的角度来看,如果您是软件开发人员,则有几种学习新技术的方法:
- 阅读有关它
- 玩吧
- 破解或实施类似的东西
网上有很多例子说明了前两个例子,但很少有例子说明如何实现Rx。
因此,让我们看一下Rx核心原语的接口:
可观察的:
根据Observable的文档界面非常简单:
好吧,这很酷! 但是Rx的强大功能也在运算符中……因此,让我们实现map运算符:
与Rx中数组映射的映射相同,通过应用transform
函数来transform
序列的每个元素并返回新序列
回顾一下:
Observable —是一种类型,您可以在其中通过调用subscription()传递一个Observer (基本上是一个回调)。 如您所见,所有魔术都发生在订阅方法中。 这就是使Rx如此强大的原因,您可以转换序列并传递Observable实例,而不必担心会发生什么事情
结论:
确保这是天真的,还没有准备好进行生产。 但是我真的希望它表明Rx背后没有魔力!
这里有游乐场
从这往哪儿走:
- RxSwift回购
- ReactiveX网站
- 雷·温德利奇团队的RxSwift书
- Rx背后的数学
- TinyExtension:增强固定的URL初始化
- 您是否熟悉viewWillAppear,viewDidAppear,viewDidLoad,viewWillDisappear和viewDidDisappear?
- PFObject不反映“parsing数据浏览器”中的“成功”保存的更改
- 在视图之间来回切换时,EXC_BAD_ACCESS会崩溃
- iOS10 – ContentView在UITableView头中阻塞UIButton
- IOS 6屏幕旋转,而不使用故事板
- 为当前位置注释设置canShowCallOut = NO
- 修改切片从字符串到字符串函数,以返回最后一个索引,如果找不到字符串
- Swift数组通过值传递…相同的内存地址?
- iOS可点击的单词(UILabel或UIbutton的)
- 我怎样才能解密在iOS的XML文件与AES / CBC / PKCS5Padding标准,在Android的文件已被解密,所有的关键像盐,IV