sqlite について質問がありましたが、ここで答えが見つかりませんでした。おそらく、私に答えていただくか、ここに記事を投稿してください。私のような他の多くの新しい開発者にとって役立つでしょう。
問題は、sqlite と CoreData を使用する場合の速度についてです。
CoreData を使用する場合、NSFetchedResultsController を使用できます。これにより、メモリの使用がより効率的になります。
sqlite を使用する場合、NSFetchedResultsController のようなものはありません。私の考えでは、次の 2 つの方法があります。
viewDidLoad の sqlite データベースからすべてのデータをいくつかの配列にロードし、この配列を tableView:cellForRowAtIndexPath で使用します: indexPath.row を配列インデックスとして使用してデータを表示するには、すべてのデータをロードします
viewDidLoad で行数を取得して numberOfRowsInSection で使用し、必要なデータのみを tableView:cellForRowAtIndexPath にロードします。次のようなクエリを使用します [NSString stringWithFormat: "select id, name from myTable limit 1 offset %d", indexPath.row];
方法 2 は良い考えですか、データを表示するたびに sqlite にクエリを作成するのは悪い考えですか? そうでない場合、どちらの方法がより高速に使用できますか?
ありがとうございました。