Frage

Ich entwickle eine iPhone App, in dem ich eine .plist-Datei verwenden wollen einige Konfigurationsvariablen zu speichern.

in meinem Xcode wo diese .plist-Datei erstellen und wie Sie darauf zugreifen ???

Danke,

War es hilfreich?

Lösung

Sie würden in den Ressourcen-Ordner abgelegt. Dann etwas wie folgt verwenden, um es zu laden:

NSString *file = [[NSBundle mainBundle] pathForResource:@"TwitterUsers" ofType:@"plist"];
NSArray *Props = [[NSArray alloc] initWithContentsOfFile:file];

Wo TwitterUsers der Name Ihrer plist-Datei ist.

Wenn Sie Ihre plist-Datei enthält Schlüssel und Werte, die Sie in die zweite Zeile eines NSDictionary statt NSArray machen würden.

Andere Tipps

Um die plist-Datei in Ihrem Verzeichnis Dokumente speichern Sie müssen plist-Datei in Ihrer Anwendung enthalten und dann beim ersten Start kopieren Sie sie in Dokumente Verzeichnis.

Um den Zugriff auf die Datei im Verzeichnis Dokumente zu erhalten:

NSArray *paths = 
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                                    NSUserDomainMask, YES); 
NSString *documentsPath = [paths objectAtIndex:0]; 

// <Application Home>/Documents/foo.plist 
NSString *fooPath = 
[documentsPath stringByAppendingPathComponent:@“foo.plist”];

Ich würde empfehlen, es in dem Ressourcen-Verzeichnis in dem App-Bundle zu halten, aber Sie können es einfach per Drag in das Projektfenster. Die NSBundle Methode pathForResource:ofType: sollten Sie einen Weg geben, die Sie NSDictionary des dictionaryWithContentsOfFile: passieren kann.

Edit: Sorry, vollständiges Codebeispiel (dachte, ich würde schon kopiert und eingefügt):

NSString *path = [[NSBundle mainBundle] pathForResource:@"MyConfig" ofType:@"plist"];
NSDictionary *myConfig = [NSDictionary dictionaryWithContentsOfFile:path];

Bearbeiten aufgetreten ich einfach "config Variablen" möglicherweise nicht unveränderlich sein. Wenn das der Fall ist, ignorieren Sie diese Antwort.

Ich würde empfehlen, die Sie verwenden NSUserDefaults Konfigurationsvariablen zu speichern, anstatt Ihr eigenes System von rollen.

Wenn Sie eine .plist in Ihrem Anwendungspaket ändern, riskieren Sie die Unterschrift auf dem Bündel ungültig zu machen, während nicht gut enden.

Wenn Sie müssen speichern und Ihre eigenen .plist ändern, sollte sie in der Documents Verzeichnis, wo auch Ihre Anwendung sollte alles speichern, die es herunterlädt, erzeugt usw. Siehe Datei- und Datenverwaltung und NSFileManager .

In der Standardeinstellung, wenn Sie den plist in dem Projekt überall aufgenommen haben (unter Ressourcen oder auf andere Weise) XCode wird sie in das Anwendungspaket kopieren, wo Sie es mit dem oben genannten pathForResource Anruf zu erhalten. Ich dachte, ich würde erwähnen, dass, wie Sie vielleicht eine Gruppierung bevorzugen, wo Sie haben es nicht in Ressourcen ...

Sie das Beispiel SQLite Buch finden können ..... war die silte Datendatei in das Verzeichnis ‚Dokument‘ speichern .... Sie kennen die prcess

  1. Warum sollte es das Bündel ungültig machen?

  2. Wäre das plist-Datei in den Ordner Ressourcen in iTunes wie Dateien im Ordner Dokumente gesichert werden?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top