trying to resolve leak
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
1d30735948
commit
166ecf461d
@ -45,10 +45,12 @@ extension Publishers {
|
|||||||
private func subscribe() {
|
private func subscribe() {
|
||||||
guard let publisher = modelHandler?.modelPublisher else { return }
|
guard let publisher = modelHandler?.modelPublisher else { return }
|
||||||
|
|
||||||
publisher.debounce(for: .seconds(Constants.ModelStateDebounce), scheduler: RunLoop.main).sink { [weak self] viewModel in
|
publisher
|
||||||
guard let self else { return }
|
.debounce(for: .seconds(Constants.ModelStateDebounce), scheduler: RunLoop.main)
|
||||||
_ = self.subscriber?.receive(viewModel)
|
.sink { [weak self] viewModel in
|
||||||
}.store(in: &subscribers)
|
_ = self?.subscriber?.receive(viewModel)
|
||||||
|
}
|
||||||
|
.store(in: &subscribers)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -59,8 +61,10 @@ extension ModelHandlerable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public func createBinding(with subject: CurrentValueSubject<ModelType, Never>, storeIn subscriptions: inout Set<AnyCancellable>) {
|
public func createBinding(with subject: CurrentValueSubject<ModelType, Never>, storeIn subscriptions: inout Set<AnyCancellable>) {
|
||||||
handlerPublisher().sink { (value) in
|
handlerPublisher()
|
||||||
subject.send(value)
|
.sink { (value) in
|
||||||
}.store(in: &subscriptions)
|
subject.send(value)
|
||||||
|
}
|
||||||
|
.store(in: &subscriptions)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -30,15 +30,17 @@ extension ModelHandlerable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public func setupUpdateView() {
|
public func setupUpdateView() {
|
||||||
modelPublisher.filter { [weak self] viewModel in
|
modelPublisher
|
||||||
guard let self else { return false}
|
.filter { [weak self] viewModel in
|
||||||
return self.shouldUpdateView(viewModel: viewModel)
|
return self?.shouldUpdateView(viewModel: viewModel) ?? false
|
||||||
|
|
||||||
}.debounce(for: .seconds(Constants.ModelStateDebounce), scheduler: RunLoop.main).sink { [weak self] viewModel in
|
}
|
||||||
guard let self else { return }
|
.debounce(for: .seconds(Constants.ModelStateDebounce), scheduler: RunLoop.main)
|
||||||
self.updateView(viewModel: viewModel)
|
.sink { [weak self] viewModel in
|
||||||
|
self?.updateView(viewModel: viewModel)
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
}
|
||||||
|
.store(in: &subscribers)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user