Фикс краша, возникающего при уничтожении экрана, в котором есть pull-to-refresh. В deinit этого экрана нужно вызывать метод unsubscribeFromBindings, который отпишет вручную наблюдателей на scroll view.
This commit is contained in:
parent
f72ba63c7e
commit
27562bf786
|
|
@ -46,6 +46,14 @@ 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)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,10 +77,6 @@ open class RMRPullToRefreshController: NSObject {
|
|||
self.subscribeOnScrollViewEvents()
|
||||
}
|
||||
|
||||
deinit {
|
||||
self.unsubscribeFromScrollViewEvents()
|
||||
}
|
||||
|
||||
fileprivate func configureBackgroundView(_ backgroundView: UIView) {
|
||||
backgroundView.translatesAutoresizingMaskIntoConstraints = false
|
||||
scrollView?.addSubview(backgroundView)
|
||||
|
|
|
|||
Loading…
Reference in New Issue