RubyMotion を使い始めたばかりですが、データストアに NSUserDefaults を使用することをお勧めします。名前が、オブジェクトではなく設定変数などの保存にのみ使用する必要があることを示唆しているため、これは私にはちょっと奇妙に思えます。
オブジェクト (User、Company、Tasks など) を NSUserDefaults に保存しても問題ありませんか、それとも別の方法を使用する必要がありますか?
RubyMotion を使い始めたばかりですが、データストアに NSUserDefaults を使用することをお勧めします。名前が、オブジェクトではなく設定変数などの保存にのみ使用する必要があることを示唆しているため、これは私にはちょっと奇妙に思えます。
オブジェクト (User、Company、Tasks など) を NSUserDefaults に保存しても問題ありませんか、それとも別の方法を使用する必要がありますか?
ユーザーのデフォルトは、暗号化を必要としない少量のデータを保存する場合に通常は問題ありません。大きいデータや時間の経過とともに大きくなる可能性のあるデータは、ファイルシステムまたはコアデータのいずれかに配置する必要があります。秘密にする必要があるもの(パスワードなど)はすべてキーチェーンに入れる必要があります。
NSUserDefaults
アプリケーションのユーザー設定を保存するために使用する必要があります。一般的なデータストレージではありません。NSUserDefaultsクラスリファレンスは次のように述べています。
デフォルトのシステムでは、アプリケーションはユーザーの好みに合わせて動作をカスタマイズできます。たとえば、アプリケーションが表示する測定単位や、ドキュメントが自動的に保存される頻度をユーザーが決定できるようにすることができます。
したがって、アプリケーションがユーザー、企業、およびタスクを管理している場合は、そのために使用しないNSUserDefaults
でください。
NSUserDefaultsクラスは、、、、、、などfloats
の一般doubles
的な型integers
にアクセスするための便利なメソッドを提供しBooleans
ますURLs
。
デフォルトのオブジェクトは、プロパティリストNSData
、つまり、:、、、、、、、またはのインスタンス(またはコレクションの場合はインスタンスの組み合わせ)である必要NSString
があります。NSNumber
NSDate
NSArray
NSDictionary
他のタイプのオブジェクトを保存する場合は、通常、それをアーカイブしてのインスタンスを作成する必要がありますNSData
。
https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/UserDefaults/AboutPreferenceDomains/AboutPreferenceDomains.htmlのガイドラインを参照してください。
質問はRubyMotionとは何の関係もなく、Cocoatouchとは何の関係もありません。
一般に、ユーザーのデフォルトは単にユーザーの設定であり、それ以上のものではありません。保護が必要なデータをそこに保存しないでください。設定以外のデータは保存しないでください。小さくしてください。
オブジェクトのような他のものを保存するのに適切な場所ではありません。