Question

J'ai ce problème filaire, je ne peux pas obtenir le contenu du fichier et de lancer mon NSMutableArray avec elle.

Voici mon 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]];

Lorsque vous essayez cela, les rendements initWithContentsOfFile (null). La vérification de la ligne si les impressions existez de fichiers « 1 » à la console.

Voici le code que je utilise pour enregistrer les données:

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

J'utilise plus ou moins exactement le même code dans un autre programme sans problèmes.

vraiment besoin d'aide ici, peut-être que je suis aveugle juste pour le moment ...

Était-ce utile?

La solution

Les documents pour la méthode de initWithContentsOfFile: de NSArray de dire:

  

Valeur de retour Un tableau initialisé pour contenir le contenu du fichier   spécifié par aLigne ou zéro si le fichier   ne peut pas être ouvert ou le contenu du   fichier ne peut pas être analysé dans un tableau.   L'objet retourné peut être différent   que le récepteur d'origine.

Vous ne comprend pas la déclaration de length dans l'extrait de code, mais je devine que retourne length.text un objet NSString, pas un NSArray. Donc, vous auriez besoin de lire ce retour à partir d'un fichier en utilisant initWithContentsOfFile: de NSString, non NSArray.

Autres conseils

Lorsque vous essayez de créer un tableau à partir du contenu d'un fichier, le fichier doit être en format plist , et l'élément extérieur le plus plist doit être <array> . Si elle ne dispose pas de ce format, l'initialisation échouera et votre tableau sera nil.

Vous créez le fichier en écrivant un NSString dans un fichier, ce qui signifie que vous devriez probablement en train de lire dans un NSString, pas NSArray.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top