problema de writeToFile simple de objetivo-c nsarray

[wordlist writeToFile:[[NSBundle mainBundle] 
pathForResource:@"wordlist" ofType:@"txt"] atomically: YES];

wordlist es un NSMutableArray, y el resto ya sabes qué.

El problema es que no se guarda nada en wordlist.txt cuando ejecuto los códigos en Xcode. Frente a este código, nslog muestra que hay 4 objetos en la lista de palabras. ¿Cómo?


Editar: ¡Correcto!

¡Estos códigos funcionan !:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *yourArrayFileName = [documentsDirectory stringByAppendingPathComponent:@"wordlist.txt"];  
[wordlist writeToFile:yourArrayFileName atomically:YES];    
NSLog (@"%@", yourArrayFileName);

Editar 29 de agosto de 2011.

NSString *documentsDirectory = @"/Users/YOURNAME/Desktop/";
    NSString *appFile = [documentsDirectory stringByAppendingPathComponent:@"norsk.txt"];

    NSString *content = @"æ ø å";
    BOOL ok = [content writeToFile:appFile atomically:YES encoding:NSUnicodeStringEncoding error:nil];
    if (!ok) {
        NSLog(@"Error writing file !");
    }

¡también funciona!

preguntado el 28 de agosto de 11 a las 00:08

1 Respuestas

No puede escribir en el paquete de su aplicación.

Necesita escribir en el directorio del usuario. Puedes saber más sobre esto en este pregunta.

Hay tres directorios en los que puede escribir

  • NSDocumentDirectory: el directorio de documentos. El usuario podrá ver estos archivos. Esto debería ser solo para archivos de usuario. Copia de seguridad de iTunes.
  • NSCachesDirectory: el directorio de caché es donde coloca las cosas que la aplicación puede necesitar en el futuro, pero que puede reconstruir. No respaldado por iTunes.
  • NSApplicationSupportDirectory: el soporte de la aplicación es donde coloca sus archivos esenciales para su aplicación. Copia de seguridad de iTunes.

contestado el 23 de mayo de 17 a las 14:05

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