6

フィード、プロフィール、友達、フォロワーなどの機能を備えたソーシャル アプリを構築しています。すべてのオブジェクトを永続的に保存するためにコアデータを使用しています。ユーザーがアプリを起動すると、コアデータからデータが取得され、ユーザーに即座に表示されますが、バックグラウンドで更新も取得しています。

問題は、現在すべてをコアデータに保存していることです。たとえば、友達のプロフィールにアクセスすると、友達のフィード オブジェクトを取得し、コアデータにも保存します。次に同じ友人のプロフィールにアクセスすると、最初に保存されたフィードが表示されます (そしてバックグラウンドで更新されます)。

私はこれを行う必要がありますか?すべてをコア データに保存することに問題はありますか (ユーザー エクスペリエンスを向上させるため)、またはデータ セットが大きくなったときに発生する可能性のある制限や問題はありますか? 何を保存し、何を永続的に保存しないかに関して、私が従わなければならないいくつかの良い習慣はありますか?

ありがとう

4

1 に答える 1

2

原則として、いくつかのデータをすぐに表示するためにアプローチを使用できますが、いくつかの重要なトレードオフがあります。全体として、あなたのアプローチには問題があると思います。

状況をiPhoneのメールアプリと比較します(少なくとも待ち時間のあるメールサーバーを使用している場合)。メールボックスを開くと、古いメッセージと、更新が実行中であることを示す回転ホイールが表示されます。その後、突然、表示がすべての新しいメッセージで更新されます。あなたのアプローチはこれに非常に似ています。

メールメッセージでは問題ないかもしれませんが、ニュースフィードやステータスメッセージでは本当に受け入れられますか?私はそうは思わない。状況がすでに変化している場合(「気分がいい」と思う)の古いステータスメッセージ(「気分がいい」と思う)は誤解を招き、ユーザーエクスペリエンスを低下させます。

Core Dataストアは引き続きすべてのデータを保存し、定期的に自分自身をワイプすることができます。最初のフェッチは、特定のしきい値より古いアイテムが表示(および削除)されないようなものである可能性があります。同時に、より永続的なデータ(友達リストなど)を永続化することは完全に理にかなっています。

于 2012-12-20T18:05:45.683 に答える