当我使用RxSwift时,我必须编写许多addDisposableTo,我该如何删除它?
usernameTextField.rx.text.orEmpty
.bindTo(viewModel.username)
.addDisposableTo(disposeBag)
passwordTextField.rx.text.orEmpty
.bindTo(viewModel.password)
.addDisposableTo(disposeBag)
repeatPasswordTextField.rx.text.orEmpty
.bindTo(viewModel.repeatPassword)
.addDisposableTo(disposeBag)
答案 0 :(得分:1)
我在XCode中为订阅代码创建了一个代码片段,因此非常方便我不必每次都输入
我担心因为处理袋是一个属性,你绑定到订阅的对象,你可以节省很多锅炉板代码。
可能你可以写一个方便的包装但仍然值得吗?在我看来,XCode片段工作得很好
答案 1 :(得分:1)
正如Nimble指出的那样,你必须这样做;否则你肯定会泄漏内存。在工作中订阅/取消订阅的夫妇依赖于与本地Swift通知中心/ KVO观察员相同的原则:如果您打开"频道",您必须"关闭"它
这里的中间地点是使用NSObject-Rx(按Ash Furrow)阻止您在import RxSwift
子类NSObject
处的任何位置创建一个配置包:只需调用{ {1}}。