it-swarm-ja.com

Swiftのどのサイズの配列でCoreDataへの切り替えを検討しますか?

Swiftで読書追跡アプリを開発しました。簡単にするために、モデルに配列を使用しました。ユーザーが読んだ本に関するデータと表紙の小さな画像が保存されます。保存します。永続性のために定期的にディスクに保存します。ユーザーがアプリを使用しているときに、モデルを代わりにCoreDataを使用するように変換するのが賢明なのはいつですか?ファイルサイズまたはエントリ数に基づいて決定しますか?エントリ数を増やしてテストを実行したところ、数百のエントリに入るまではすべて正常に機能しているように見えました。その時点でUIが遅くなり始めました。おそらく、ユーザーがにかなり長い時間(年?)かかるでしょう。そのポイントに到達しますが、切り替えが必要かどうかは、遅かれ早かれ知りたいです。

いくつかのガイドラインを探してみましたが、何も役に立ちませんでした。経験のある人は誰か提案がありますか?

2
M. Chollar

アプリケーションが数百のエントリを持つデータ配列を処理できないため、UIが遅くなることはないと思います。たとえば、100文字の長さの1000文字列は、約100kBのメモリを消費します。これは、最も基本的な画像以外のすべてよりも少ないです単独

UITableViewCellsの再利用が最適ではない(または再利用がまったくない)、または画像が不要になったときに画像を解放しないなど、他の何かが起こっているのではないかと思います。また、何百ものエントリをスクロールしなければならないことは、おそらくユーザーに望んでいることではありません。

CoreDataまたは別のORMフレームワークに切り替える理由はたくさんあります。アプリケーションに大きな計画がある場合は、プロジェクトの途中で変換するのではなく、早期に開始することをお勧めしますが、配列を使用してプロパティリストまたはフラットファイルとして保存することもできます。非常に単純なアプリの場合、数百または数千のエントリが含まれている場合でも。多くの異なるタイプの情報(たとえば、本の表紙だけでなく、詳細な著者情報も)を保存し、それらを組み合わせる必要がある場合、複雑になる傾向があります。ここで、ORMフレームワークが実際にその価値を証明します。

2
Glorfindel