如何让 RxSwift 自动完成功能在 Xcode 10.1 中工作?

Gin*_*as_ 5 xcode swift rx-swift rx-cocoa xcode10

刚刚开始学习RxSwift。尽管 rx 命令构建良好,但为什么自动完成功能不起作用? 在此输入图像描述

编辑:临时解决方案可能是添加,asObservable但我想要完整的体验! 在此输入图像描述

Pab*_*mez -1

这意味着调用 bind(to:) 的结果未使用,因为您没有将其附加到一次性设备上。

您需要创建一个 disposeBag

在班级范围内:

let disposeBag = DisposeBag()
Run Code Online (Sandbox Code Playgroud)

以及 .bind().dispose(by: disposeBag) 之后

如果不是,则不会保留,disposeBag 会保留所有订阅,直到它被释放为止(如果您在类作用域中声明它,它将在类被释放时被释放)

此外,Rx 是一个复杂的层“over” swift,所以当出现问题时,Xcode 会遇到很多麻烦来检测到底是什么错误,并且说有错误但可能不是正确的错误会变得很疯狂(并且当它发生时也会发生)你正在尝试使用自动完成功能,Xcode 很糟糕...)你无法修复它。