mirror of
https://github.com/kiwix/kiwix-apple.git
synced 2025-09-27 13:59:04 -04:00
SearchOperation create child when exec
This commit is contained in:
parent
9181d34c0f
commit
71e43c60e4
@ -49,7 +49,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.8.361</string>
|
||||
<string>1.8.369</string>
|
||||
<key>ITSAppUsesNonExemptEncryption</key>
|
||||
<false/>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
|
@ -21,7 +21,7 @@
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.8.364</string>
|
||||
<string>1.8.372</string>
|
||||
<key>NSExtension</key>
|
||||
<dict>
|
||||
<key>NSExtensionMainStoryboard</key>
|
||||
|
@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user