接触Rx有种让你相见恨晚的感觉。
简书:https://www.jianshu.com/p/b66bfe4bdf7d
本文札记Observable
的使用方法
一、创建
Observable.of()
Observable.from([])
需求如下:筛选以下数组,取偶数
"1","2","3","4","5","6","7"
Observable.from(["1","2","3","4","5","6","7"]).map({Int($0)}).filter({
if let item = $0, item % 2 == 0{
return true
}
return false
})
map
函数Sring转为整型
filter
筛选,规则为 item % 2 == 0
二、订阅
现在Observable没有被执行,因为没有Observer订阅,
对于观察者这一描述是有些僵硬的,在RxSwift中,执行事件这一行为被称为观察者,ps:这个名字感觉不舒服,每一个观察者都是由闭包构成的
然而:
cold observable --> 只有订阅才会执行
hot observable --> 自发执行
刚创建的是 cold observable
订阅代码:
let evenNumsObservable = Observable.from(["1","2","3","4","5","6","7"]).map({Int($0)}).filter({
if let item = $0, item % 2 == 0{
print(item)
return true
}
return false
})
//全程订阅
evenNumsObservable.subscribe { (event) in
print(