RxSwift笔记一创建Observable

689 阅读1分钟

简介

    git地址: https://github.com/ReactiveX/RxSwift
    参考资料:http://t.swift.gg/d/2-rxswift
    
    ReactiveX是通过可观察的流实现异步编程的一种API,它结合了观察者模式、迭代器模式和函数式编程的精华,RxSwift 是 ReactiveX 编程思想的一种实现。

1. 创建Observable序列

  • never:创建一个不会终止且不发出任何事件的序列
let neverSequence = Observable<Int>.never()

_ = neverSequence
    .subscribe { _ in
        print("这句话永远不会打出来.")
}
  • empty: 创建一个只会发出一个completed事件的序列
let emptySequence = Observable<Int>.empty()

_ = emptySequence
    .subscribe { event in
        print(event)
}
  • just: 创建一个只有一个元素的序列
let singleElementSequence = Observable.just(32)

_ = singleElementSequence
    .subscribe { event in
        print(event)
}
  • of:创建一个固定数量元素的序列
let sequenceOfElements/* : Observable<Int> */ = Observable.of(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

_ = sequenceOfElements
    .subscribe { event in
        print(event)
}
  • from: 从一个数组,字典,Set中创建一个序列
Observable.from(["A","B","C","D"]).subscribe(onNext: {
    print($0)
})
  • range: 创建一个有范围的序列
let rangeSequence = Observable.range(start: 1, count: 10)

_ = rangeSequence.subscribe { event in
    print(event)
}
  • repeatElement: 创建一个发送重复值的序列
let repeatElementSequence = Observable.repeatElement(1)

_ = repeatElementSequence.subscribe { event in
    print(event)
}

注:

部分内容摘自其他博客,如有侵权,请及时告知删除!