В фоновом потоке вставка массива данных (более 10 000 записей) с использованием FMDatabaseQueue
FMDatabaseQueue *queue = [FMDatabaseQueue databaseQueueWithPath:[self dbPath]];
queue inTransaction:^(FMDatabase *db) {
for (NSDictionary *propertyValueDictionary in customers) {
NSString *customerId = [propertyValueDictionary objectForKey:@"CustomerId"];
NSString *property = [propertyValueDictionary objectForKey:@"Property"];
NSString *value = [propertyValueDictionary objectForKey:@"Value"];
BOOL deleted = [[propertyValueDictionary objectForKey:@"Deleted"] boolValue];
NSString *revision = [propertyValueDictionary objectForKey:@"Revision"];
NSString *sql = @"INSERT OR REPLACE INTO Customer (CustomerId, Property, Value) VALUES (?, ?, ?);";
[db executeUpdate:sql, customerId, property, value];
}
}];
в то же время я хочу читать/писать sqlite в основном потоке без задержки и блокировки пользовательского интерфейса.
Любое решение? Заранее спасибо.