Просмотр исходного кода

Return empty array when the rows are nil in FLEXSQLResult

matrush лет назад: 6
Родитель
Сommit
84131d8533

+ 4 - 4
Classes/GlobalStateExplorers/DatabaseBrowser/FLEXSQLiteDatabaseManager.m

@@ -101,22 +101,22 @@ static NSString * const QUERY_TABLENAMES = @"SELECT name FROM sqlite_master WHER
 - (NSArray<NSString *> *)queryAllTables {
     return [[self executeStatement:QUERY_TABLENAMES].rows flex_mapped:^id(NSArray *table, NSUInteger idx) {
         return table.firstObject;
-    }];
+    }] ?: @[];
 }
 
 - (NSArray<NSString *> *)queryAllColumnsOfTable:(NSString *)tableName {
     NSString *sql = [NSString stringWithFormat:@"PRAGMA table_info('%@')",tableName];
     FLEXSQLResult *results = [self executeStatement:sql];
-    
+
     return [results.keyedRows flex_mapped:^id(NSDictionary *column, NSUInteger idx) {
         return column[@"name"];
-    }];
+    }] ?: @[];
 }
 
 - (NSArray<NSArray *> *)queryAllDataInTable:(NSString *)tableName {
     return [self executeStatement:[@"SELECT * FROM "
         stringByAppendingString:tableName
-    ]].rows;
+    ]].rows ?: @[];
 }
 
 - (FLEXSQLResult *)executeStatement:(NSString *)sql {