12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import Foundation
- import Queuer
- import NextcloudKit
- import RealmSwift
- class NCCollectionViewUnifiedSearch: ConcurrentOperation {
- var collectionViewCommon: NCCollectionViewCommon
- var metadatas: [tableMetadata]
- var searchResult: NKSearchResult
- init(collectionViewCommon: NCCollectionViewCommon, metadatas: [tableMetadata], searchResult: NKSearchResult) {
- self.collectionViewCommon = collectionViewCommon
- self.metadatas = metadatas
- self.searchResult = searchResult
- }
- func reloadDataThenPerform(_ closure: @escaping (() -> Void)) {
- DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
- CATransaction.begin()
- CATransaction.setCompletionBlock(closure)
- self.collectionViewCommon.collectionView.reloadData()
- CATransaction.commit()
- }
- }
- override func start() {
- guard !isCancelled else { return self.finish() }
- self.collectionViewCommon.dataSource.addSection(metadatas: metadatas, searchResult: searchResult)
- self.collectionViewCommon.searchResults?.append(self.searchResult)
- reloadDataThenPerform {
- self.finish()
- }
- }
- }
|