Objetivo c: ¿Cómo agregar cadenas desde un archivo .txt a NSArray?

Tengo el archivo weekdays.txt en mi proyecto. Hay días de la semana con espacios entre ellos en este archivo. Y mi código no funciona.

NSString* path = [[NSBundle mainBundle] pathForResource:@"weekdays" ofType:@"txt"];
weekdaysDataSource = [[NSArray alloc] initWithContentsOfFile:path];

¿Dónde puede estar el problema? Gracias.

preguntado el 03 de julio de 12 a las 23:07

2 Respuestas

¿Qué formato es su archivo?

La documentación para -initWithContentsOfFile dice path debe ser "La ruta a un archivo que contiene una representación de cadena de una matriz producida por el método writeToFile:atomically:". Esa sería una lista de propiedades.

Si su archivo no es una lista de propiedades, puede leer el archivo en un NSString (+[NSString stringWithContentsOfFile:encoding:error:]) y luego dividirlo en palabras (-[NSArray componentsSeparatedByString:]).

Respondido 04 Jul 12, 01:07

También puede hacer lo siguiente:

// create an NSURL object that holds the path of the file you want to read

NSURL *fileURL = [NSURL fileURLWithPath:@"/Users/yourname/weekdays.txt"];  

//Create an NSMutaable string object and use the stringWithContentsOfURL: encoding: error: method to hold whatever might be you have in the text file. 
//Just pass the NSURL object you created in the previous step to as an argument like so

NSMutableString *text = [NSMutableString stringWithContentsOfURL:fileURL encoding:NSUTF8StringEncoding error:nil];

NSLog(@"The content of the file is: %@", text);

Y eso es. El NSLog en realidad generará lo que haya escrito dentro del archivo solo para probar que esto funciona.

Respondido 04 Jul 12, 04:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.