【发布时间】:2019-01-19 02:30:32
【问题描述】:
我对常规 swift 函数中可观察定义的生命周期感兴趣 - 作为局部变量。
当函数返回时,局部变量 observable 是否会被释放?在什么条件下我可以依靠我的 observable 操作直到它完成或出错?
func testObservable()
{
let obs = Observable<Int>.interval( 2, MainScheduler.instance)
.subscribe(onNext: {print($0)}) //omitting dispose bag
}
只要它有订阅者并且在取消订阅时被释放,observable 会一直触发吗?
这个案子怎么样? 让 disposeBag = disposeBag()
func testObservable()
{
let obs = Observable<Int>.interval( 2, MainScheduler.instance)
.subscribe(onNext: {print($0)})
.disposedBy(disposeBag)
}
【问题讨论】:
-
运行代码时会发生什么?
-
disposeBag 是在哪里创建的,何时取消初始化?
标签: memory-management swift4 automatic-ref-counting ios11 rx-swift