2
结合数据当试图结合我UITextField
这是在我的ViewController
具有可变var location = Variable<String?>("")
这是我的ViewControllerViewModel
使用rxSwift
在我收到关于内存泄漏的信息。我这样做波纹管:内存泄漏,同时用rxSwift
我的ViewController
class ViewController {
@IBOutlet weak var locationTextField: UITextField!
var viewControllerViewModel: ViewControllerViewModel?
lazy var disposeBag = DisposeBag()
/*
Another variables etc.
*/
override func viewDidLoad() {
super.viewDidLoad()
bindDataWithViewModel()
}
func bindDataWithViewModel() {
if let viewModel = viewControllerViewModel {
locationTextField.rx.text.bindTo(viewModel.location).disposed(by: disposeBag) -> // here shows memory leak
}
}
}
我ViewControllerViewModel
class ViewControllerViewModel {
var location = Variable<String?>("")
var infoStruct = InfoStruct()
lazy var disposeBag = DisposeBag()
init() {
initValueObservable()
}
func initValueObservable() {
location.asObservable().subscribe(onNext: { [unowned self] text in
self.infoStruct.location = text
}).addDisposableTo(disposeBag)
}
}
你有任何想法,为什么这种内存泄漏造成自身哪有我避开它?
'addDisposableTo'是一个不推荐的方法 –