2012-02-07 9 views
0

あなたはアプリに簡単なユーザ名文字列を保存する正しい方法を考慮して、アプリを再び開いたときにそこに存在するようにしますか?私はコアデータ、plist、nsuserdefaultsのようないくつかの方法を読んできました。アプリの終了後にユーザ名nsstringを保持する

人々がこれを行うために使用している方法は何ですか?また、提案された方法の賛否両論は可能でしょうか?

+1

「NSUserDefaults」 –

答えて

1

コアデータはSQLiteにシリアル化されており、多くのオブジェクトを処理して動的に作成/削除するときに意味があります。

Plistは、Core DataとNSUserDefaultsの複雑さの中間になります。彼らは何らかの構造でデータを扱うことができ、ファイルシステム上にファイルとして保存されます。

1つの情報しか扱っていないので、NSUserDefaultsが最も理にかなっています。あなたは、文字列を保存しなければならないすべては次のとおりです。

その後
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setObject:userNameString forKey:@"UserName"]; 
[defaults synchronize]; 

は、文字列を取得する:

NSString *userName = [[NSUserDefaults standardUserDefaults] stringForKey:@"UserName"]; 
+0

ありがとうございました。間違いなくNSUserDefaultsの呼び出しを保存している情報の単純さのように聞こえます。私はCoreDataを使って作業しましたが、それは飛行機を殺すためにバズーカを持ってくるようなものだと思いました。ちょうどあなたからの入力を得ることを望んでいた。 –

3

ここではNSUserDefaultsが正しい選択だと思います。ユーザーのデフォルト設定を保存するためのもので、これはユーザーが記述したものです。さらに、あなたのコードからアクセスするのはとても簡単です。

3

NSUserDefaultsはOKです。しかし、私はあなたがユーザー名を持っている場合、あなたはログインするためのパスワードを持っていると思いますか?そのような場合は、キーチェーンを使用して保存してください。

+0

私はパスワードを保存しません。デバイスは、多くの人が共有する可能性が高いでしょう。私が暗号化されたパスワードを保存することを検討する唯一の理由は、ログイン時の接続性の欠如をカバーする必要がある場合です。幸いにも、Webサービス認証は要件の一部です。 –

+0

だから私はNSUserDefaultsがあなたの場合に最も適切だと思います。私はアプリで同様の状況で何回か使用していますが、今は必要なものに対してより良い解決策があるかどうかはわかりません。 – krzymar

1

NSUserDefaultsが最高です(私の意見では)。しかし、あなたがそれを使用しないことを決めた場合、アーカイブを使うこともできます。

UIDocumentを使用すると、異なるアプリで同期されるユーザー名をクラウドにリンクすることができます。

関連する問題