4

RubyMotion を使い始めたばかりですが、データストアに NSUserDefaults を使用することをお勧めします。名前が、オブジェクトではなく設定変数などの保存にのみ使用する必要があることを示唆しているため、これは私にはちょっと奇妙に思えます。

オブジェクト (User、Company、Tasks など) を NSUserDefaults に保存しても問題ありませんか、それとも別の方法を使用する必要がありますか?

4

4 に答える 4

6

ユーザーのデフォルトは、暗号化を必要としない少量のデータを保存する場合に通常は問題ありません。大きいデータや時間の経過とともに大きくなる可能性のあるデータは、ファイルシステムまたはコアデータのいずれかに配置する必要があります。秘密にする必要があるもの(パスワードなど)はすべてキーチェーンに入れる必要があります。

これは、アプリのストレージモデルから選択する方法に関する提案を含む回答です

于 2013-03-23T13:15:55.627 に答える
3

NSUserDefaultsアプリケーションのユーザー設定を保存するために使用する必要があります。一般的なデータストレージではありません。NSUserDefaultsクラスリファレンスは次のように述べています。

デフォルトのシステムでは、アプリケーションはユーザーの好みに合わせて動作をカスタマイズできます。たとえば、アプリケーションが表示する測定単位や、ドキュメントが自動的に保存される頻度をユーザーが決定できるようにすることができます。

したがって、アプリケーションがユーザー、企業、およびタスクを管理している場合は、そのために使用しないNSUserDefaultsでください。

于 2013-03-23T13:15:19.587 に答える
1

NSUserDefaultsクラスは、、、、、、などfloatsの一般doubles的な型integersにアクセスするための便利なメソッドを提供しBooleansますURLs

デフォルトのオブジェクトは、プロパティリストNSData、つまり、:、、、、、、、またはのインスタンス(またはコレクションの場合はインスタンスの組み合わせ)である必要NSStringがあります。NSNumberNSDateNSArrayNSDictionary

他のタイプのオブジェクトを保存する場合は、通常、それをアーカイブしてのインスタンスを作成する必要がありますNSData

詳細については、NSUserDefaultsクラスリファレンスを参照してください。

于 2013-03-23T13:15:32.717 に答える
0

https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/UserDefaults/AboutPreferenceDomains/AboutPreferenceDomains.htmlのガイドラインを参照してください。

質問はRubyMotionとは何の関係もなく、Cocoatouchとは何の関係もありません。

一般に、ユーザーのデフォルトは単にユーザーの設定であり、それ以上のものではありません。保護が必要なデータをそこに保存しないでください。設定以外のデータは保存しないでください。小さくしてください。

オブジェクトのような他のものを保存するのに適切な場所ではありません。

于 2013-03-23T13:15:10.013 に答える