it-swarm-ja.com

永続性のためにpListよりもSQLiteを使用することに不利益はありますか?

私はかなり単純なアプリケーションを作成していて、時間といくつかのブール値を格納する設定メニューがあります。私はすでにデータを保存および取得するアプリケーションを持っていますが、SQLiteが悪い選択であったかどうか疑問に思い始めました。

答えは、おそらくそのようないくつかの値にpListを使用するべきだったと思います。しかし、私がCoreDataに慣れている場合(そしてそれがすでに配置されている場合)pListよりもSQLiteを使用することに不利益はありますか?

また、議論のために、このデータベースが合計20個のアイテムと、最大2個のテーブルを保持するとします。

1
Dan Beaulieu
  1. コアデータモデル間のデータベース移行は困難です。コアデータモデル(またはSQLのようなデータベース)を設定することは、入れ墨をするようなものです。

  2. コアデータAPIは優れていますが、ベテランのベテランでもまだ苦労しています。

    私はコアデータが悪いことを示唆しているわけではなく、使用すべきではありません。私はあなたの場合、あなたはそれを簡単に避けることができるので、あなたがすべきだと提案しているだけです。

  3. 考慮すべきもう1つのことは、pListからのデータ取得はコアデータフェッチよりも遅いということですが、これがあなたに影響を与えるとは思えません。

1
robdashnash

Plist、xmlなど、およびSQLをrawとして使用するか、Core Dataの永続化オプションの1つとして使用するかの違いは、非SQLソリューションは永続化されたドキュメント全体をメモリにロードするのに対し、SQLは現時点で必要なものだけをロードすることです。

あなたの場合、データが少なすぎるため、SQLが過剰に機能しているようです。辞書や配列などから生成されたplistを使用することも、永続ストアタイプをCoreDataを使用してxmlに移動することもできます。

これが永続化するデータであり、設定ではないことを確認してください。後でユーザー設定に保存する必要があります。

2
TechZen