Фикс утечки памяти
This commit is contained in:
parent
397f6d33b2
commit
59de97d267
|
|
@ -46,14 +46,6 @@ open class RMRPullToRefresh: NSObject {
|
|||
self.сontroller = controller
|
||||
}
|
||||
|
||||
/// Метод нужно вызывать в deinit экрана, в котором используется pull-to-refresh.
|
||||
///
|
||||
/// Это временное решение для избежания краша из-за KVO-наблюдателей на scroll view
|
||||
/// (при уничтожении скролла и экрана, в котором он лежит).
|
||||
open func unsubscribeFromBindings() {
|
||||
сontroller?.unsubscribeFromScrollViewEvents()
|
||||
}
|
||||
|
||||
open func configureView(_ view :RMRPullToRefreshView, state:RMRPullToRefreshState, result:RMRPullToRefreshResultType) {
|
||||
сontroller?.configureView(view, state: state, result: result)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -382,18 +382,24 @@ open class RMRPullToRefreshController: NSObject {
|
|||
return
|
||||
}
|
||||
|
||||
self.contentOffsetObservation = scrollView.observe(\.contentOffset, options: [.new]) { scrollView, change in
|
||||
guard let newContentOffset = change.newValue else { return }
|
||||
self.scrollViewDidScroll(scrollView, contentOffset: newContentOffset)
|
||||
self.contentOffsetObservation = scrollView.observe(
|
||||
\.contentOffset,
|
||||
options: [.new]) { [weak self] (scrollView, change) in
|
||||
guard let newContentOffset = change.newValue else { return }
|
||||
self?.scrollViewDidScroll(scrollView, contentOffset: newContentOffset)
|
||||
}
|
||||
|
||||
self.contentSizeObservation = scrollView.observe(\.contentSize, options: [.new]) { scrollView, change in
|
||||
guard let newContentSize = change.newValue else { return }
|
||||
self.scrollViewDidChangeContentSize(scrollView, contentSize: newContentSize)
|
||||
self.contentSizeObservation = scrollView.observe(
|
||||
\.contentSize,
|
||||
options: [.new]) { [weak self] (scrollView, change) in
|
||||
guard let newContentSize = change.newValue else { return }
|
||||
self?.scrollViewDidChangeContentSize(scrollView, contentSize: newContentSize)
|
||||
}
|
||||
|
||||
self.panStateObservation = scrollView.panGestureRecognizer.observe(\.state, options: [.new]) { panGestureRecognizer, _ in
|
||||
self.scrollViewDidChangePanState(scrollView, panState: panGestureRecognizer.state)
|
||||
self.panStateObservation = scrollView.panGestureRecognizer.observe(
|
||||
\.state,
|
||||
options: [.new]) { [weak self] panGestureRecognizer, _ in
|
||||
self?.scrollViewDidChangePanState(scrollView, panState: panGestureRecognizer.state)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue