mirror of
https://github.com/kiwix/kiwix-apple.git
synced 2025-09-27 22:10:57 -04:00
SearchOperation create child when exec
This commit is contained in:
parent
9181d34c0f
commit
71e43c60e4
@ -49,7 +49,7 @@
|
|||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>1.8.361</string>
|
<string>1.8.369</string>
|
||||||
<key>ITSAppUsesNonExemptEncryption</key>
|
<key>ITSAppUsesNonExemptEncryption</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>LSRequiresIPhoneOS</key>
|
<key>LSRequiresIPhoneOS</key>
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>1.8.364</string>
|
<string>1.8.372</string>
|
||||||
<key>NSExtension</key>
|
<key>NSExtension</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>NSExtensionMainStoryboard</key>
|
<key>NSExtensionMainStoryboard</key>
|
||||||
|
@ -10,8 +10,14 @@ import Operations
|
|||||||
|
|
||||||
class SearchOperation: GroupOperation {
|
class SearchOperation: GroupOperation {
|
||||||
private(set) var results = [SearchResult]()
|
private(set) var results = [SearchResult]()
|
||||||
|
let searchTerm: String
|
||||||
|
|
||||||
init(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 searches: [BookSearch] = ZimMultiReader.shared.readers.keys.map({ BookSearch(zimID: $0, searchTerm: searchTerm) })
|
||||||
let sort = Sort()
|
let sort = Sort()
|
||||||
searches.forEach { (search) in
|
searches.forEach { (search) in
|
||||||
@ -19,12 +25,16 @@ class SearchOperation: GroupOperation {
|
|||||||
operation.requirement += dependency.results
|
operation.requirement += dependency.results
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
super.init(operations: searches + [sort])
|
|
||||||
|
|
||||||
sort.addObserver(DidFinishObserver { [unowned self] (operation, errors) in
|
sort.addObserver(DidFinishObserver { [unowned self] (operation, errors) in
|
||||||
guard let operation = operation as? Sort else {return}
|
guard let operation = operation as? Sort else {return}
|
||||||
self.results = operation.requirement
|
self.results = operation.requirement
|
||||||
})
|
})
|
||||||
|
|
||||||
|
addOperations(searches)
|
||||||
|
addOperation(sort)
|
||||||
|
|
||||||
|
super.execute()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user