Pregunta

Tengo este problema por cable, no puedo obtener el contenido del archivo e iniciar mi NSMutableArray con él.

Aquí está mi código:

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

Cuando se trata de esto, vuelve initWithContentsOfFile (nulo). La comprobación fila si los EXIST archivo se imprime '1' para la consola.

Este es el código que estoy usando para guardar los datos:

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

estoy usando más o menos exactamente el mismo código en un programa diferente sin problemas.

Realmente necesitar algo de ayuda aquí, tal vez sólo estoy ciego por el momento ...

¿Fue útil?

Solución

Los documentos para digamos método initWithContentsOfFile: de NSArray:

  

Valor de retorno Una matriz inicializada para contener los contenidos del archivo   especificada por Apath o nulo si el archivo   no se puede abrir o el contenido de la   archivo no se puede analizar en una matriz.   El objeto devuelto puede ser diferente   que el receptor originales.

no incluyen la declaración de length en el fragmento de código, pero supongo que length.text devuelve un objeto NSString, no un NSArray. Así que es necesario leer que volver de un archivo usando initWithContentsOfFile: de NSString, no NSArray.

Otros consejos

Cuando intenta crear una matriz a partir de los contenidos de un archivo, el archivo debe sea en formato plist , y el elemento más exterior plist debe ser <array> . Si no tiene ese formato, la inicialización fallará y la matriz será nil.

va a crear el archivo escribiendo un NSString a un archivo, lo que significa que probablemente debería estar leyendo en un NSString, no un NSArray.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top