だから、私はインターネットで見つけたすべての投稿を読みましたが、まだこれを機能させることができないようです.
大量のデータを sqlite データベースに挿入しようとしています。20000 行のデータなので、バックグラウンド スレッドで実行する必要があります。
データベース操作を処理するための NSObject .h および .m ファイルがあります。そして、メイン ビュー内からそれらを呼び出します。
これが私のコードです:
SQLiteDBHandler.m :
database = [FMDatabase databaseWithPath:[self getDBPath]];
[database open];
dispatch_queue_t q = dispatch_queue_create("FMDBQueue", NULL);
dispatch_async(q, ^{
for(Customer *c in arrayOfObjects) {
[database executeUpdate:@"INSERT INTO SNP(rdis, Position, FirstName, LastName) VALUES (?,?,?,?)", c.ID, c.Position, c.FirstName, c.LastName];
}
[database close];
});
メイン ビューでメソッドを呼び出すには、次のように呼び出します。
SQLiteDBHandler *dbHandler = [[SQLiteDBHandler alloc]init];
[dbHandler insertDataIntoTable:mutableArray];
FMDatabaseQueue で FMDatabase を変更しようとしましたが、うまくいきませんでした。私はこれでかなり必死なので、どんな助けも大歓迎です。
ありがとう。乾杯!