2017-11-07 11 views
0

私は自分のアプリケーションをリファクタリングしています。現在、オブジェクトを.plistに保存して処理します。それは正常に動作しますが、私はそれがCoreDataに潜入する時間だと思っていました。CoreDataを使用してオブジェクトを保存する

私のアプリはWebサービスからデータを取得します。このデータを個々のオブジェクトに解析します。 これらのオブジェクトのプロパティを使用してTableviewsを塗りつぶします。

リファクタリング中に、CoreDataを使用して変換可能なオブジェクトとしてオブジェクト全体をぼんやりと保存することができます。

私のオブジェクトのプロパティに似た属性を持つエンティティを定義することもできます。

ベストプラクティスはありますか?最初のアプローチではリファクタリングが簡単になると思いますが、その場合はCoraDataのメリットを逃していると思います。多分パフォーマンスですか?

+0

パフォーマンスの観点から、ベストプラクティスは、データを表示しながらできるだけ少ないデータ処理です​​。 – vadian

答えて

1

オブジェクトを変形可能なものとして保存しないでください。あなたはいくつかの基準に基づいていくつかの分離したオブジェクトをフェッチすることができないDBを取得します。メモリ内のすべてのDBを取得し、それを処理する必要があります。したがって、plistファイルと同じになり、その作業を無駄にします。適切な属性を持つエンティティを使用してください。 CoreDataは高速です。パフォーマンスについて心配する必要はありません。

0

トランスフォームは一般に、コアデータが表現方法を知らない属性に対してのみ有効です。それらは、バイナリデータブロブをフォールバックとして使用できるようにしますが、決して理想的なものではありません。また、属性値に基づいてフェッチ要求をフィルタリングまたはソートする必要が絶対にあった場合にも、これらを使用できます。その場合、余分な不必要な作業があるため、まだ素晴らしいことはありません。

属性値に基づいてフェッチ要求をフィルタリングまたはソートする必要がある(またはいつかする必要がある)場合は、変換可能なものを使用しないでください。値がnilであるかどうかを確認するような非常に基本的なもの以外の目的には使用できません。

0

よろしくお願いいたします。 問題を適切に調査せずに質問しました。 本当の答えはNSManagedObjectsを理解することです。 気になって申し訳ありません

関連する問題