3

ユーザー名とパスワードを使用してログインし、ユーザーがサービスからファイルをダウンロードできるようにするアプリケーションを作成しました。私のアプリケーションでは、ユーザーがアプリケーションにログインした後、いくつかのデータを保持する必要があります。

ユーザー名、パスワード、ユーザーがダウンロードしたリスト、サブスクライブしたプランなどの永続的なデータ。データは、NSUserDefaults、Plistなどのいずれかによってアプリケーションに永続化できます。しかし、NSUserDefaultsを使用して値を格納および取得するのは簡単です。多くのViewControllerで値を使用する必要があるため、を優先しNSUserDefaultsます。

これはベストプラクティスですか?使いすぎるNSUserDefaultsとトラップが発生しますか?データを永続化し、cocoa-touchで簡単に取得する他の方法はありますか?

4

3 に答える 3

2

NSUserDefaultsユーザーデータの保存に使用できます。

しかし、機密性の高いデータの場合はUsername、それらを保存することPasswordを好みます。keychain

キーチェーンの保存については、次のリンクを確認してください。

  1. シンプルな iPhone キーチェーン アクセス
  2. メールパスワードをiOSのキーチェーンに保存する
  3. iphone SDKでキーチェーンを使用する方法
于 2013-01-23T05:56:30.073 に答える
2

私の意見では、ユーザー名、パスワード、またはいくつかの BOOL などの小さなデータを保存したい場合は、NSUserDefaults を使用できます。

NSUserDefaults は一般的な plist であるため、ダウンロード リンクなどのデータを保存する場合は、カスタム plist を使用することをお勧めします。

UIImage などの大きなデータを保存する場合は、 NSCache を使用できますが、データが削除される可能性があります。

大量のデータを保存したい場合は、データベースを使用することをお勧めします。

于 2013-01-23T06:05:07.343 に答える
0

https://github.com/kishikawakatsumi/UICKeyChainStoreなどのライブラリの使用を検討します。 これは、ios キーチェーン ストアの非常に優れたラッパーであり、ユーザーのデフォルトの plist ではなく、機密データをユーザーのキーチェーンに格納します。安全。

データに関しては、安全でない場合、ファイルに書き込んでロードし直すことができない理由はありませんか?

于 2013-01-23T05:59:03.347 に答える