From 71e43c60e4b26351a119c6ccbc71e4f2ef1176af Mon Sep 17 00:00:00 2001 From: Chris Li Date: Tue, 13 Sep 2016 14:09:53 -0400 Subject: [PATCH] SearchOperation create child when exec --- Kiwix-iOS/Info.plist | 2 +- Kiwix-iOSWidgets/Bookmarks/Info.plist | 2 +- Kiwix/Operations/SearchOperation.swift | 14 ++++++++++++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Kiwix-iOS/Info.plist b/Kiwix-iOS/Info.plist index 8170ac85..50a99629 100644 --- a/Kiwix-iOS/Info.plist +++ b/Kiwix-iOS/Info.plist @@ -49,7 +49,7 @@ CFBundleVersion - 1.8.361 + 1.8.369 ITSAppUsesNonExemptEncryption LSRequiresIPhoneOS diff --git a/Kiwix-iOSWidgets/Bookmarks/Info.plist b/Kiwix-iOSWidgets/Bookmarks/Info.plist index d973ac60..cdc7e530 100644 --- a/Kiwix-iOSWidgets/Bookmarks/Info.plist +++ b/Kiwix-iOSWidgets/Bookmarks/Info.plist @@ -21,7 +21,7 @@ CFBundleSignature ???? CFBundleVersion - 1.8.364 + 1.8.372 NSExtension NSExtensionMainStoryboard diff --git a/Kiwix/Operations/SearchOperation.swift b/Kiwix/Operations/SearchOperation.swift index 5e14dfc2..8e71ed1f 100644 --- a/Kiwix/Operations/SearchOperation.swift +++ b/Kiwix/Operations/SearchOperation.swift @@ -10,8 +10,14 @@ import Operations class SearchOperation: GroupOperation { private(set) var results = [SearchResult]() + let searchTerm: String init(searchTerm: String) { + self.searchTerm = searchTerm + super.init(operations: []) + } + + override func execute() { let searches: [BookSearch] = ZimMultiReader.shared.readers.keys.map({ BookSearch(zimID: $0, searchTerm: searchTerm) }) let sort = Sort() searches.forEach { (search) in @@ -19,12 +25,16 @@ class SearchOperation: GroupOperation { operation.requirement += dependency.results }) } - super.init(operations: searches + [sort]) sort.addObserver(DidFinishObserver { [unowned self] (operation, errors) in guard let operation = operation as? Sort else {return} self.results = operation.requirement - }) + }) + + addOperations(searches) + addOperation(sort) + + super.execute() } }