Browse Source

coding

Signed-off-by: marinofaggiana <ios@nextcloud.com>
marinofaggiana 2 years ago
parent
commit
9762f6be06
1 changed files with 15 additions and 3 deletions
  1. 15 3
      iOSClient/Data/NCDataSource.swift

+ 15 - 3
iOSClient/Data/NCDataSource.swift

@@ -292,25 +292,37 @@ class NCDataSource: NSObject {
     
     func numberOfItemsInSection(_ section: Int) -> Int {
 
-        if self.metadatasForSection.count == 0 || self.metadatasSource.count == 0 { return 0 }
+        if self.metadatasForSection.count == 0 || self.metadatasSource.count == 0 || section >= metadatasForSection.count {
+            return 0
+        }
         return self.metadatasForSection[section].metadatas.count
     }
 
     func cellForItemAt(indexPath: IndexPath) -> tableMetadata? {
 
+        if metadatasForSection.count == 0 || indexPath.section >= metadatasForSection.count {
+            return nil
+        }
         let metadatasForSection = self.metadatasForSection[indexPath.section]
+        if indexPath.row >= metadatasForSection.metadatas.count {
+            return nil
+        }
         return metadatasForSection.metadatas[indexPath.row]
     }
 
     func getMetadataForSection(_ section: Int) -> NCMetadataForSection? {
 
-        if metadatasForSection.count == 0 { return nil }
+        if metadatasForSection.count == 0 || section >= metadatasForSection.count {
+            return nil
+        }
         return self.metadatasForSection[section]
     }
 
     func getSectionValue(indexPath: IndexPath) -> String {
 
-        if metadatasForSection.count == 0 { return "" }
+        if metadatasForSection.count == 0 || indexPath.section >= metadatasForSection.count {
+            return ""
+        }
         let metadataForSection = self.metadatasForSection[indexPath.section]
         return metadataForSection.sectionValue
     }