Weitere Tipps zum Speichern von Daten persistent:
Methode 1: Verwenden Sie das globale System Benutzereinstellungen. Sie können dies tun, aber es könnte als etwas hacky angesehen werden, da es Benutzereinstellungen speichern soll, und ich denke, dies ist ein grauer Bereich, da der Benutzer hier keine explizite Kontrolle hat. Lesen Sie in jedem Fall die Dokumentation für NSUserDefaults
, um herauszufinden, wie das geht.
Methode 2: Schreiben Sie in eine Datei, deren Existenz angibt, ob das Lernprogramm angezeigt wurde oder nicht. Sie können problemlos eine Datei mit einem NSData
-Objekt erstellen, indem Sie die Methode writeToFile:atomically:
aufrufen. Später können Sie die Klasse NSFileManager
verwenden, um zu überprüfen, ob diese Datei existiert oder nicht.
Beispielcode:
- (NSString*) filename {
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString* documentsDirectory = [paths objectAtIndex:0];
return [documentsDirectory stringByAppendingPathComponent:@"notFirstTime"];
}
- (void) setNotFirstTime {
NSData* data = [[[NSData alloc] init] autorelease];
[data writeToFile:[self filename] atomically:YES];
}
- (BOOL) isNotFirstTime {
return [[NSFileManager defaultManager] fileExistsAtPath:[self filename]];
}