From 27562bf786c63bfe6e85b1b49b93ae0bd61f98ee Mon Sep 17 00:00:00 2001 From: Nina Dmitrieva Date: Thu, 27 Apr 2017 15:42:57 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BA=D1=80=D0=B0?= =?UTF-8?q?=D1=88=D0=B0,=20=D0=B2=D0=BE=D0=B7=D0=BD=D0=B8=D0=BA=D0=B0?= =?UTF-8?q?=D1=8E=D1=89=D0=B5=D0=B3=D0=BE=20=D0=BF=D1=80=D0=B8=20=D1=83?= =?UTF-8?q?=D0=BD=D0=B8=D1=87=D1=82=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D0=B8=20?= =?UTF-8?q?=D1=8D=D0=BA=D1=80=D0=B0=D0=BD=D0=B0,=20=D0=B2=20=D0=BA=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=BE=D0=BC=20=D0=B5=D1=81=D1=82=D1=8C=20pul?= =?UTF-8?q?l-to-refresh.=20=D0=92=20deinit=20=D1=8D=D1=82=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=20=D1=8D=D0=BA=D1=80=D0=B0=D0=BD=D0=B0=20=D0=BD=D1=83?= =?UTF-8?q?=D0=B6=D0=BD=D0=BE=20=D0=B2=D1=8B=D0=B7=D1=8B=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=20unsubscribeFromBindin?= =?UTF-8?q?gs,=20=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B9=20=D0=BE=D1=82?= =?UTF-8?q?=D0=BF=D0=B8=D1=88=D0=B5=D1=82=20=D0=B2=D1=80=D1=83=D1=87=D0=BD?= =?UTF-8?q?=D1=83=D1=8E=20=D0=BD=D0=B0=D0=B1=D0=BB=D1=8E=D0=B4=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D0=B5=D0=B9=20=D0=BD=D0=B0=20scroll=20view.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Classes/RMRPullToRefresh.swift | 8 ++++++++ Classes/RMRPullToRefreshController.swift | 4 ---- 2 files changed, 8 insertions(+), 4 deletions(-) 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)