marinofaggiana 4 years ago
parent
commit
f8065b02c1
2 changed files with 10 additions and 15 deletions
  1. 7 12
      iOSClient/Database/NCManageDatabase.swift
  2. 3 3
      iOSClient/Media/NCMedia.swift

+ 7 - 12
iOSClient/Database/NCManageDatabase.swift

@@ -2351,19 +2351,14 @@ class NCManageDatabase: NSObject {
         return result.freeze()
     }
     
-    func getMetadatasMedia(predicate: NSPredicate, sort: String, ascending: Bool = false, completion: @escaping (_ metadatas: [tableMetadata])->()) {
-                
-        DispatchQueue.global().async {
-            autoreleasepool {
+    func getMetadatasMedia(predicate: NSPredicate, sort: String, ascending: Bool = false) -> [tableMetadata] {
         
-                let realm = try! Realm()
-                realm.refresh()
-                
-                let sortProperties = [SortDescriptor(keyPath: sort, ascending: ascending), SortDescriptor(keyPath: "fileNameView", ascending: false)]
-                let results = realm.objects(tableMetadata.self).filter(predicate).sorted(by: sortProperties).freeze()
-                completion(Array(results))
-            }
-        }
+        let realm = try! Realm()
+        realm.refresh()
+        
+        let sortProperties = [SortDescriptor(keyPath: sort, ascending: ascending), SortDescriptor(keyPath: "fileNameView", ascending: false)]
+        let results = realm.objects(tableMetadata.self).filter(predicate).sorted(by: sortProperties).freeze()
+        return Array(results)
     }
     
     //MARK: -

+ 3 - 3
iOSClient/Media/NCMedia.swift

@@ -675,10 +675,10 @@ extension NCMedia {
             let predicateLivePhoto = NSPredicate(format: "!(ext == 'mov' AND livePhoto == true)")
             predicate = NSCompoundPredicate.init(andPredicateWithSubpredicates:[predicate!, predicateLivePhoto])
         }
-                
-        NCManageDatabase.sharedInstance.getMetadatasMedia(predicate: predicate!, sort: CCUtility.getMediaSortDate()) { (metadatas) in
+              
+        DispatchQueue.global().async {
+            self.metadatas = NCManageDatabase.sharedInstance.getMetadatasMedia(predicate: self.predicate!, sort: CCUtility.getMediaSortDate())
             DispatchQueue.main.sync {
-                self.metadatas = metadatas
                 self.reloadDataThenPerform {
                     self.updateMediaControlVisibility()
                     self.mediaCommandTitle()