2

別の初心者の質問:Obj-Cで書かれたCocoaアプリケーションにデータを保存するための最良の方法は何ですか?たとえば、事前に作成された(およびユーザーが作成した)質問でユーザーをクイズする一種の「クイズ」を作成したい場合はどうでしょうか。これらの質問と回答をどのように保存しますか?コアデータ?

ありがとう!

4

2 に答える 2

3

もちろん、それはコアデータです!

それはすべてを処理します..ここを見てください:http://developer.apple.com/macosx/coredata.html

これは、以下を処理できる完全なAPIです。

  • データベースとランタイムオブジェクト間のORM
  • 永続性
  • 自動構築ツール(ERエディターなど)
  • 箱から出してすぐに使用できるので、ほとんど何も実装する必要はありません。オブジェクトコントローラにクエリを実行するだけで、データにアクセスできます。

おそらくこの解決策はあなたの問題に対して大きすぎるでしょうが、あなたはそれを簡単なケースで使用する方法を学びます、そして私は将来便利になります。

于 2010-04-04T17:07:16.607 に答える
3

@Jack が示したように、Core Data は確かに優れたオプションです。他にもいくつかのオプションがあります。

  1. NSCoding- モデル オブジェクトを NSCoding プロトコルに準拠させることができます (に似てjava.io.Serializableいます)。これは、それらをファイルに直接書き込むことができることを意味します。これは、永続化するデータが大量になく、永続化するデータの構造が比較的単純な場合に最適なオプションであることがわかりました。

  2. SQLite - データが非常にリレーショナルな場合は、データベース (おそらく SQLite) を直接使用することを検討してください。INNER/LEFT/OUTER/CROSS/NATURAL JOINCore Data はオブジェクト ストアであり、オブジェクト間のリレーションシップなどを処理しますが、その他の複数テーブル オペレーターなどの実際に役立つことはできません。

  3. NSUserDefaultsNSUserDefaults- データが非常に小さく、本質的にキーと値のペアにすぎない場合は、おそらくすべてをオブジェクトに投げることができます。これにより、設定ファイルにデータが保持されます。ただし、データが単純であっても、データがNSUserDefaults多数ある場合は最適なオプションではない可能性があります。

于 2010-04-04T17:23:57.023 に答える