2010-11-24 9 views
6

Ich muss eine Anwendung mit NSUserDefaults erstellen.Wie speichert man Werte in NSUserDefaults wie als Datenbank?

In meiner ersten Ansicht werde ich das Passwort eingeben. In der zweiten Ansicht werde ich das Bestätigungs-Passwort eingeben. Dann wird die Validierung stattfinden. Wenn danach das Passwort in beiden Ansichten übereinstimmt, wird das Erfolgsfenster geöffnet. Danach werden einige Ansichten kommen. Ich brauche dieses Passwort sollte in NSUserDefaults für zukünftige Verwendung speichern.

Wenn ich meine Anwendung nach der Validierung schließe, dann wenn ich meine Anwendung jetzt erstellen und erneut ausführen soll, sollte das Passwortüberprüfungsfenster nicht geöffnet sein.

Nur eine Ansicht fragt einfach das Passwort, wenn das aktuelle Passwort gleich ist, bevor das Passwort der Anwendung beendet wird, dann wird die Erfolgsansicht der Anwendung geöffnet. Jetzt hier die Validierung sollte mit dem aktuellen Passwort mit NSUserDefaults 's Wert verglichen werden [d. H. Altes Passwort, das vor dem Beenden meiner Anwendung gespeichert wird].

Es ist möglich, NSUserDefaults zu verwenden?

Antwort

10

Objective-C:

Um in Defaults zu speichern

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

Zum Abrufen

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

Swift:

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

Wie auch immer, nur ein Hinweis speichert keine Passwörter in NSUserdefaults. Verwenden Sie den Schlüsselbund zum Speichern sicherer Daten.

8

Verwenden Sie NSUserDefaults nicht zum Speichern von Benutzerkennwörtern! Es ist nicht sicher. Sie sollten speichern Kennwörter im Schlüsselbund, wo sie verschlüsselt ist, gibt es kleine Wrapper-Klasse, die sehr einfach Speichern Benutzername/Passwort in den Schlüsselbund macht:

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

+0

auf die Frage nicht technisch eine Antwort, aber eine bessere Beratung. – JeremyP

Verwandte Themen