2010-11-24 18 views
6

NSUserDefaultsを使用してアプリケーションを作成する必要があります。NSUserDefaultsの値をデータベースのように保存する方法は?

私の最初のビューで私はパスワードを入力します。 2番目のビューでは、確認パスワードを入力します。その後、検証が行われます。その後、両方のビューでパスワードが一致すると、成功のウィンドウが開きます。その後、いくつかのビューが来るでしょう。パスワードは、今後の使用のためにNSUserDefaultsに保存する必要があります。

検証後にアプリケーションを終了すると、アプリケーションをビルドして再度実行すると、パスワード検証ウィンドウが開いてはいけません。

現在のパスワードがアプリケーションのパスワードを終了する前と等しい場合は、1つのビューでパスワードを尋ねるだけで、アプリケーションの成功ビューが開きます。ここでは、現在のパスワードとNSUserDefaultsの値(つまり、アプリケーションを終了する前に保存されている古いパスワード)との比較を行う必要があります。

NSUserDefaultsを使用することは可能ですか?

答えて

10

のObjective-C:

がデフォルトで保存するには

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
// saving an NSString 
[prefs setObject:@"TextToSave" forKey:@"keyToLookupString"]; 

を取得するには

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
// getting an NSString 
NSString *myString = [prefs stringForKey:@"keyToLookupString"]; 

スウィフト:

var userDefaults : NSUserDefaults = NSUserDefaults.standardUserDefaults() 
userDefaults.setObject("TextToSave", forKey: "keyToLookupString") 
//To retrieve 
let mySavedObject = userDefaults.objectForKey(@"keyToLookupString") 

とにかくNSUserdefaultsにパスワードを保存しないだけのヒントです。安全なデータを格納するには、キーチェーンを使用します。

8

ユーザパスワードを保持するのにNSUserDefaultsを使用しないでください!それは安全ではありません。あなたは非常に簡単なキーチェーンにユーザ名/パスワードを保存せ、小さなラッパークラスがあります、それは暗号化されたキーチェーンにパスワードを保存する必要があります

http://log.scifihifi.com/post/55837387/simple-iphone-keychain-code

+0

ない技術的質問への答えが、より良いアドバイス。 – JeremyP

関連する問題