主なコンテンツが画像であるアプリを構築することを計画しています。基本的に、 を使用して複数のメニューがUITableViews
あり、そのセルには画像のみが含まれます。セルをクリックすると、その画像と別の画像を含む単純なビューが表示され、残りの詳細なコンテンツが表示されます。
これはすべて非常に簡単に行うことができます。私の質問は最適化に関するものです。大量のコンテンツ (おそらく 1,000 行) があり、画像を に表示するUITableView
ので、Core Data は必須です (遅延読み込みと他のいくつかの最適化を考えると)。
私の質問は次のとおりです。イメージをCore Data
db に保存する (as としてNSData
) か、単にイメージの名前を保存するのが最善ですか? 私が想像しているのは、リソースの名前を保存する場合ですUITableView
。デバイスの各行について、その画像を取得し、処理して最終的に表示する必要があります。それらをスクロールすると(多くのことが起こると予想されます)、フェッチする画像がたくさんあります。それらを に保存するとCore Data
、その情報を取得して、画像があるかのように使用するのと同じくらい簡単になります。
イメージを に保存する利点は、Core Data
blob を db に保存する通常の撤回に伴います。これが Core Data でどの程度の問題になるかはわかりません (dbs での私の経験は主に MySQL から来ています)
一方、厳しい私の「常識」では、名前だけを保存し、必要に応じて画像を取得する必要があります。さらに要求されると、より多くの時間がかかります。パフォーマンスがどれだけ影響を受けるかはわかりません。なれ。それらを保存する「最良の方法」はありますか?名前だけを呼び出してからpathForResourse:ofType:
or (その方が速い場合)pathForResourse:ofType:inDirectory:
を呼び出しmainBundle
、URI を保存するか、それを指す他の形式を指定します。
edit : アプリケーションには静的コンテンツが同梱されており、ユーザーはこのコンテンツを変更することはできません。(少なくともバージョン 1.0 では)