Frage

ich dieses verdrahtete Problem habe, kann ich nicht den Inhalt aus der Datei erhalten und initiieren meine NSMutableArray mit ihm.

Hier ist mein Code:

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

NSLog(@"Does file exist?: %i", [[NSFileManager defaultManager] fileExistsAtPath:[NSString stringWithFormat: @"%@/length.txt", documentsDirectory]]);

NSMutableArray *tempArr;

tempArr = [[NSMutableArray alloc] initWithContentsOfFile:[NSString stringWithFormat: @"%@/length.txt", documentsDirectory]];

Beim Versuch, diese, initWithContentsOfFile kehrt (null). Die Zeile überprüft, ob die Datei vorhanden druckt ‚1‘ an die Konsole.

Dies ist der Code Ich verwende die Daten zu speichern:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
[length.text writeToFile:[NSString stringWithFormat: @"%@/length.txt", documentsDirectory] atomically:NO];

Ich bin mit mehr oder weniger genau den gleichen Code in einem anderen Programm ohne Probleme.

brauchen wirklich Hilfe hier, vielleicht nur für den Moment, wo ich bin blind ...

War es hilfreich?

Lösung

Die Dokumentation für NSArray der initWithContentsOfFile: Methode sagen wir:

Rückgabewert Ein Array, den Inhalt der Datei enthalten initialisiert spezifiziert durch aPath oder gleich Null, wenn die Datei kann nicht geöffnet oder den Inhalt der sein Datei kann nicht in ein Array analysiert werden. Das zurückgegebene Objekt vielleicht anders als der ursprüngliche Empfänger.

Sie beinhalten nicht die Deklaration von length im Code-Schnipsel, aber ich vermute, dass length.text kehrt ein NSString-Objekt, kein NSArray. So müssen Sie das zurück aus einer Datei mit initWithContentsOfFile: von NSString zu lesen, nicht NSArray.

Andere Tipps

Wenn Sie versuchen, einen Array aus dem Inhalt einer Datei zu erstellen, die Datei muss in plist Format sein, und die am weitesten außen plist Element <array> sein muss . Wenn es nicht das Format hat, wird die Initialisierung fehlschlagen und das Array wird nil sein.

Sie erstellen die Datei durch eine NSString in eine Datei zu schreiben, was bedeutet, sollten Sie wahrscheinlich es in zu einem NSString liest, kein NSArray.

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