diff --git a/Classes/RMRPullToRefresh.swift b/Classes/RMRPullToRefresh.swift index 33a850c..3175e0d 100755 --- a/Classes/RMRPullToRefresh.swift +++ b/Classes/RMRPullToRefresh.swift @@ -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) } diff --git a/Classes/RMRPullToRefreshController.swift b/Classes/RMRPullToRefreshController.swift index cc925b5..f9482fb 100755 --- a/Classes/RMRPullToRefreshController.swift +++ b/Classes/RMRPullToRefreshController.swift @@ -77,10 +77,6 @@ open class RMRPullToRefreshController: NSObject { self.subscribeOnScrollViewEvents() } - deinit { - self.unsubscribeFromScrollViewEvents() - } - fileprivate func configureBackgroundView(_ backgroundView: UIView) { backgroundView.translatesAutoresizingMaskIntoConstraints = false scrollView?.addSubview(backgroundView)