iOS RxSwift 在函数内部定义时如何理解可观察生命周期

iOS RxSwift how to understand observable lifecycle when defined inside function

我对常规 swift 函数中可观察对象定义的生命周期感兴趣 - 作为局部变量。

当函数 returns 时局部变量 observable 是否被释放? 在什么情况下我可以依靠我的 observable 操作直到它完成或出错?

func testObservable()
{
  let obs = Observable<Int>.interval( 2, MainScheduler.instance)
  .subscribe(onNext: {print([=11=])}) //omitting dispose bag
}

Observable 是否会在有订阅者时一直触发并在取消订阅时被释放?

这个案例怎么样? 让 disposeBag = disposeBag()

func testObservable()
    {
      let obs = Observable<Int>.interval( 2, MainScheduler.instance)
      .subscribe(onNext: {print([=12=])})
      .disposedBy(disposeBag)
    }

当源结束(通过发出 completederror)或接收器停止接受数据(通过对其一次性调用 dispose)时,链将中断。

因此,在您的第一个函数中,链条将在程序的整个生命周期内保持活动状态,而在第二个函数中,链条将在包超出范围时终止。