如何使用RxSwift Observable <int> .interval?

时间:2017-09-25 04:19:56

标签: swift rx-swift

我试图以给定的时间间隔在“脉冲”上发出序列。 Rx的所有内容都是新手,但我认为这样做会:

import RxSwift
let db = DisposeBag()

_ = Observable<Int>.interval(1.0, scheduler: MainScheduler.instance)
    .debug("interval")
    .subscribe(onNext: {
        print($0)
    })
    .addDisposableTo(db)

但它只输出:

2017-09-25 06:12:41.161: interval -> subscribed

仅此而已。我在这里不理解什么?

1 个答案:

答案 0 :(得分:8)

您的代码没有任何问题。处理袋应该是活的。但是,操场执行在最后一条指令运行后就会结束,因此出现问题。

为了告诉操场在执行完所有内容后继续运行,您必须导入PlaygroundSupport并告诉该页面继续运行:

import RxSwift
import PlaygroundSupport

let db = DisposeBag()

Observable<Int>.interval(1.0, scheduler: MainScheduler.instance)
    .debug("interval")
    .subscribe(onNext: {
        print($0)
    })
    .addDisposableTo(db)

PlaygroundPage.current.needsIndefiniteExecution = true