0
データベースに10000+レコード以上あります。私はそれをテーブルビューにロードしたい。データベースからすべてのデータをフェッチし、テーブルビューにロードするのに3〜4秒かかります。レスポンスを増やし、データをuitableviewにロードする効率的な方法はありますか?ここ は、すべてのデータあちこちデータベースsqlite dbから大量のデータをロード
- (void)getAllData {
NSString * convertInttoStr = [NSString stringWithFormat:@"%d", rowNumber];
// Getting the database path.
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docsPath = [paths objectAtIndex:0];
NSString *dbPath = [docsPath stringByAppendingPathComponent:@"iandroidquran_database 3.sqlite"];
FMDatabase *database = [FMDatabase databaseWithPath:dbPath];
[database open];
NSString *sqlSelectQuery = [NSString stringWithFormat:
@"SELECT * FROM qSurahContent WHERE surahID=%@" ,
convertInttoStr];
// Query result
FMResultSet *resultsWithNameLocation = [database executeQuery:sqlSelectQuery];
while([resultsWithNameLocation next]) {
NSString *strID = [NSString stringWithFormat:@"%d",[resultsWithNameLocation intForColumn:@"surahID"]];
NSString *strName = [NSString stringWithFormat:@"%@",[resultsWithNameLocation stringForColumn:@"surahContentArabic"]];
NSLog(@"surahID = %@, surahName = %@",strID, strName);
[surahId addObject:strID];
[surahContentArabic addObject:strName];
}
[self.tblView reloadData];
[database close];
}
どれ解を得るために私のコードです??
dispatch_async(dispatch_get_main_queue(), ^{
[self getAllData];
});
をこのメインスレッドが高い優先順位を持ち、これまでよりも高速に実行されます:ありがとう
...同じ応答時間 – salmancs43