2010-12-27 11 views
1

iPhoneアプリケーションがデータを保存する方法はいくつかあります(NSUserDefault、XML、document、SQLiteなど)。iPhoneにアプリケーションデータを保存する最善の方法は何ですか?

当社は常にNSUserDefaultを使用してデータを保存します。しかし、NSUserDefaultは私の経験では遅かったので、とても良いとは思いません。

アプリケーション用のデータの保存方法や、それぞれの方法を使用することをお勧めするときは、私は興味があります。これらの異なるストレージタイプの長所と短所を理解し、ユーザーにとってより効率的なアプリケーションを開発するのに役立つ経験を共有してください。

+2

どのような種類のデータを保存していますか?あなたのデータモデルの例を教えてください。 –

+0

これは、保存しているデータの種類と、アプリケーションの外部で使用する予定があるかどうかに大きく依存します。 –

答えて

4

NSUserDefaultsに小さなデータを保存できますが、大きなデータベースがある場合は、データベースを格納するためにsqliteまたはcoredataが必要です。 coredatabaseの使用は、リンゴによって提供される大きなデータベースには適しており、データベースへのアクセスには効率的です。

NSUserDefaultsまたはdocumentディレクトリは、小さなデータベースに使用されます(シングルユーザーまたはその他の情報のユーザー名を格納する必要があると仮定します)。

+1

'NSUserDefaults'やプレーンテキストの' Documents'ディレクトリにパスワードを保存しないでください。キーチェーンを使って暗号化してください。この質問を参照してください:http://stackoverflow.com/questions/190963/can-i-access-the-keychain-on-the-iphone – Yuji

+0

あなたの貴重な情報のためのゆずさんありがとうございます。 – Ishu

+0

コメント無しで投票を停止します。あなたの答えは – Ishu

-1

iPhoneのメモリ空間に大量のデータを格納するためにcoreDataを使用するのが良いです。 ITはオブジェクトの形で保存するのに役立つデータベースの上にラッパー..... Uはこれに多くの例を見つけることができます...

+0

あなたの答えに感謝します。 – BPS1945

2

データを格納するSQLクエリについて知る必要がありますSQLite3データベースまたはバックエンドストレージにコアデータを使用できます。コアデータは、データを格納するのに最適なオプションの1つです。

小さな情報を格納するにはNSUserDefaultを使用する必要があります。

+0

あなたの答えに感謝します。 – BPS1945

1

NSUserDefaultsを使用して、アプリケーション終了時に保持する小さなデータを格納できます。これにより、ログインの詳細を保存することができますが、セキュリティが確保されている場合はキーチェーンを使用します。 NSUserDefaultsを使用して設定オプションを保存できます。

SQLiteデータベースは、大きなデータを簡単に保存できます。コアデータは最適なオプションです。アプリケーションデータが大きすぎない場合は、SQLiteを使用することができます。 SQliteデータベースはBLOBデータの保存にも使用できます。サーバからダウンロードしたpdfファイルバイトを格納し、いつでも使用したいときは、それらのバイトをpdfファイルに書き込みます。これにより、SQLiteのBLOBデータを表示できないため、データセキュリティも維持されます。

+0

あなたの答えに感謝します。 – BPS1945

関連する問題