From f74a8a7c8bfcea4bcd3f86236f47042e3dcb5522 Mon Sep 17 00:00:00 2001 From: Dmitriy Kurteev Date: Thu, 5 May 2016 13:25:31 +0300 Subject: [PATCH] Fix retain cycles --- Source/FolioReaderAudioPlayer.swift | 4 ++-- Source/FolioReaderCenter.swift | 4 ++-- Source/FolioReaderContainer.swift | 4 ++-- Source/FolioReaderKit.swift | 8 ++++---- Source/FolioReaderPage.swift | 2 +- Source/FolioReaderSidePanel.swift | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Source/FolioReaderAudioPlayer.swift b/Source/FolioReaderAudioPlayer.swift index 7a44dff8f..4a8d44d1f 100644 --- a/Source/FolioReaderAudioPlayer.swift +++ b/Source/FolioReaderAudioPlayer.swift @@ -10,7 +10,7 @@ import UIKit import AVFoundation import MediaPlayer -protocol FolioReaderAudioPlayerDelegate { +protocol FolioReaderAudioPlayerDelegate: class { /** Notifies that Player read all sentence */ @@ -18,7 +18,7 @@ protocol FolioReaderAudioPlayerDelegate { } class FolioReaderAudioPlayer: NSObject, AVAudioPlayerDelegate, AVSpeechSynthesizerDelegate { - var delegate: FolioReaderAudioPlayerDelegate! + weak var delegate: FolioReaderAudioPlayerDelegate! var isTextToSpeech = false var synthesizer: AVSpeechSynthesizer! var playing = false diff --git a/Source/FolioReaderCenter.swift b/Source/FolioReaderCenter.swift index 6a5edc982..8da79f496 100755 --- a/Source/FolioReaderCenter.swift +++ b/Source/FolioReaderCenter.swift @@ -38,7 +38,7 @@ enum ScrollDirection: Int { class ScrollScrubber: NSObject, UIScrollViewDelegate { - var delegate: FolioReaderCenter! + weak var delegate: FolioReaderCenter! var showSpeed = 0.6 var hideSpeed = 0.6 var hideDelay = 1.0 @@ -232,7 +232,7 @@ class FolioReaderCenter: UIViewController, UICollectionViewDelegate, UICollectio var totalPages: Int! var tempFragment: String? var currentPage: FolioReaderPage! - var folioReaderContainer: FolioReaderContainer! + weak var folioReaderContainer: FolioReaderContainer! var animator: ZFModalTransitionAnimator! var pageIndicatorView: FolioReaderPageIndicator! var bookShareLink: String? diff --git a/Source/FolioReaderContainer.swift b/Source/FolioReaderContainer.swift index 97b0aeca9..924a3e42d 100755 --- a/Source/FolioReaderContainer.swift +++ b/Source/FolioReaderContainer.swift @@ -23,7 +23,7 @@ enum SlideOutState { } } -protocol FolioReaderContainerDelegate { +protocol FolioReaderContainerDelegate: class { /** Notifies that the menu was expanded. */ @@ -78,7 +78,7 @@ class FolioReaderContainer: UIViewController, FolioReaderSidePanelDelegate { kCurrentAudioRate: 1, kCurrentHighlightStyle: 0, kCurrentMediaOverlayStyle: MediaOverlayStyle.Default.rawValue - ]) + ]) } // MARK: - View life cicle diff --git a/Source/FolioReaderKit.swift b/Source/FolioReaderKit.swift index 29eef6da0..792047053 100755 --- a/Source/FolioReaderKit.swift +++ b/Source/FolioReaderKit.swift @@ -58,10 +58,10 @@ public class FolioReader : NSObject { static let sharedInstance = FolioReader() static let defaults = NSUserDefaults.standardUserDefaults() - var readerCenter: FolioReaderCenter! - var readerSidePanel: FolioReaderSidePanel! - var readerContainer: FolioReaderContainer! - var readerAudioPlayer: FolioReaderAudioPlayer! + weak var readerCenter: FolioReaderCenter! + weak var readerSidePanel: FolioReaderSidePanel! + weak var readerContainer: FolioReaderContainer! + weak var readerAudioPlayer: FolioReaderAudioPlayer! var isReaderOpen = false var isReaderReady = false diff --git a/Source/FolioReaderPage.swift b/Source/FolioReaderPage.swift index a06ed32d1..962a4d42c 100755 --- a/Source/FolioReaderPage.swift +++ b/Source/FolioReaderPage.swift @@ -19,7 +19,7 @@ class FolioReaderPage: UICollectionViewCell, UIWebViewDelegate, UIGestureRecogni var pageNumber: Int! var webView: UIWebView! - var delegate: FolioPageDelegate! + weak var delegate: FolioPageDelegate! private var shouldShowBar = true private var menuIsVisible = false diff --git a/Source/FolioReaderSidePanel.swift b/Source/FolioReaderSidePanel.swift index 289fe514c..d00ceb9ad 100755 --- a/Source/FolioReaderSidePanel.swift +++ b/Source/FolioReaderSidePanel.swift @@ -18,7 +18,7 @@ protocol FolioReaderSidePanelDelegate { class FolioReaderSidePanel: UIViewController, UITableViewDelegate, UITableViewDataSource { - var delegate: FolioReaderSidePanelDelegate? + weak var delegate: FolioReaderSidePanelDelegate? var tableView: UITableView! var toolBar: UIToolbar! let toolBarHeight: CGFloat = 50