From 82de6d0707827bd2f6ede977f6fc3a5f28258b63 Mon Sep 17 00:00:00 2001 From: Chris Li Date: Sun, 18 Sep 2016 15:33:26 -0400 Subject: [PATCH] fetchedResultController delegate set nil when view disappear --- .../Controller/Library/CloudBooksController.swift | 10 ++++++++++ .../Controller/Library/DownloadTasksController.swift | 6 +++++- .../Controller/Library/LocalBooksController.swift | 10 +++++++++- Kiwix-iOS/Info.plist | 2 +- Kiwix-iOSWidgets/Bookmarks/Info.plist | 2 +- 5 files changed, 26 insertions(+), 4 deletions(-) diff --git a/Kiwix-iOS/Controller/Library/CloudBooksController.swift b/Kiwix-iOS/Controller/Library/CloudBooksController.swift index e5794303..efc37580 100644 --- a/Kiwix-iOS/Controller/Library/CloudBooksController.swift +++ b/Kiwix-iOS/Controller/Library/CloudBooksController.swift @@ -39,9 +39,19 @@ class CloudBooksController: UITableViewController, NSFetchedResultsControllerDel override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) tabBarController?.navigationItem.rightBarButtonItem = UIBarButtonItem(imageNamed: "LanguageFilter", target: self, action: #selector(CloudBooksController.showLanguageFilter)) + if fetchedResultController.delegate !== self { + fetchedResultController.delegate = self + tableView.reloadData() + } refreshAutomatically() } + override func viewWillDisappear(animated: Bool) { + super.viewWillDisappear(animated) + tabBarController?.navigationItem.rightBarButtonItem = nil + fetchedResultController.delegate = nil + } + override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { guard let identifier = segue.identifier else {return} switch identifier { diff --git a/Kiwix-iOS/Controller/Library/DownloadTasksController.swift b/Kiwix-iOS/Controller/Library/DownloadTasksController.swift index 9c928a4a..be7a233a 100644 --- a/Kiwix-iOS/Controller/Library/DownloadTasksController.swift +++ b/Kiwix-iOS/Controller/Library/DownloadTasksController.swift @@ -36,14 +36,18 @@ class DownloadTasksController: UITableViewController, NSFetchedResultsController override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) - tabBarController?.navigationItem.rightBarButtonItem = nil timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(DownloadTasksController.refreshProgress), userInfo: nil, repeats: true) + if fetchedResultController.delegate !== self { + fetchedResultController.delegate = self + tableView.reloadData() + } } override func viewWillDisappear(animated: Bool) { super.viewWillDisappear(animated) timer?.invalidate() timer = nil + fetchedResultController.delegate = nil } override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { diff --git a/Kiwix-iOS/Controller/Library/LocalBooksController.swift b/Kiwix-iOS/Controller/Library/LocalBooksController.swift index 37d7707f..82db1e29 100644 --- a/Kiwix-iOS/Controller/Library/LocalBooksController.swift +++ b/Kiwix-iOS/Controller/Library/LocalBooksController.swift @@ -32,7 +32,15 @@ class LocalBooksController: UITableViewController, NSFetchedResultsControllerDel override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) - tabBarController?.navigationItem.rightBarButtonItem = nil + if fetchedResultController.delegate !== self { + fetchedResultController.delegate = self + tableView.reloadData() + } + } + + override func viewWillDisappear(animated: Bool) { + super.viewWillDisappear(animated) + fetchedResultController.delegate = nil } override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { diff --git a/Kiwix-iOS/Info.plist b/Kiwix-iOS/Info.plist index 1711cb97..2d404c19 100644 --- a/Kiwix-iOS/Info.plist +++ b/Kiwix-iOS/Info.plist @@ -49,7 +49,7 @@ CFBundleVersion - 1.8.758 + 1.8.761 ITSAppUsesNonExemptEncryption LSRequiresIPhoneOS diff --git a/Kiwix-iOSWidgets/Bookmarks/Info.plist b/Kiwix-iOSWidgets/Bookmarks/Info.plist index 768b148b..46c834db 100644 --- a/Kiwix-iOSWidgets/Bookmarks/Info.plist +++ b/Kiwix-iOSWidgets/Bookmarks/Info.plist @@ -21,7 +21,7 @@ CFBundleSignature ???? CFBundleVersion - 1.8.761 + 1.8.764 NSExtension NSExtensionMainStoryboard