別の初心者の質問:Obj-Cで書かれたCocoaアプリケーションにデータを保存するための最良の方法は何ですか?たとえば、事前に作成された(およびユーザーが作成した)質問でユーザーをクイズする一種の「クイズ」を作成したい場合はどうでしょうか。これらの質問と回答をどのように保存しますか?コアデータ?
ありがとう!
別の初心者の質問:Obj-Cで書かれたCocoaアプリケーションにデータを保存するための最良の方法は何ですか?たとえば、事前に作成された(およびユーザーが作成した)質問でユーザーをクイズする一種の「クイズ」を作成したい場合はどうでしょうか。これらの質問と回答をどのように保存しますか?コアデータ?
ありがとう!
もちろん、それはコアデータです!
それはすべてを処理します..ここを見てください:http://developer.apple.com/macosx/coredata.html
これは、以下を処理できる完全なAPIです。
おそらくこの解決策はあなたの問題に対して大きすぎるでしょうが、あなたはそれを簡単なケースで使用する方法を学びます、そして私は将来便利になります。
@Jack が示したように、Core Data は確かに優れたオプションです。他にもいくつかのオプションがあります。
NSCoding
- モデル オブジェクトを NSCoding プロトコルに準拠させることができます (に似てjava.io.Serializable
います)。これは、それらをファイルに直接書き込むことができることを意味します。これは、永続化するデータが大量になく、永続化するデータの構造が比較的単純な場合に最適なオプションであることがわかりました。
SQLite - データが非常にリレーショナルな場合は、データベース (おそらく SQLite) を直接使用することを検討してください。INNER/LEFT/OUTER/CROSS/NATURAL JOIN
Core Data はオブジェクト ストアであり、オブジェクト間のリレーションシップなどを処理しますが、その他の複数テーブル オペレーターなどの実際に役立つことはできません。
NSUserDefaults
NSUserDefaults
- データが非常に小さく、本質的にキーと値のペアにすぎない場合は、おそらくすべてをオブジェクトに投げることができます。これにより、設定ファイルにデータが保持されます。ただし、データが単純であっても、データがNSUserDefaults
多数ある場合は最適なオプションではない可能性があります。