iphone uitextview nsfilehandle

iphone - cómo escribir en modo de añadir para archivo de texto



uitextview nsfilehandle (3)

Mi aplicación basada en la navegación. UItextView para notas UIViewController. Estoy escribiendo datos para texto a archivo. Ahora necesito escribir en modo agregado, el código que aparece a continuación lo estoy intentando, pero cada vez que escribo dos veces con los mismos datos de texto, y no adjunto los siguientes datos de texto al archivo.

- (void)saveText:(id)sender { [self.textview resignFirstResponder]; NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [documentPaths objectAtIndex:0]; NSString *documentTXTPath = [documentsDirectory stringByAppendingPathComponent:@"Notes.txt"]; NSString *savedString = textview.text; [savedString writeToFile:documentTXTPath atomically:YES]; NSFileHandle *myHandle = [NSFileHandle fileHandleForUpdatingAtPath:documentTXTPath ]; [myHandle seekToEndOfFile]; [myHandle writeData: [savedString dataUsingEncoding:NSUTF8StringEncoding]]; [myHandle closeFile]; }


Eliminar la siguiente línea de código

[savedString writeToFile:documentTXTPath atomically:YES];

Y el código restante está todo bien. De todos modos comprueba mi código también,

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *documentTXTPath = [documentsDirectory stringByAppendingPathComponent:@"Notes.txt"]; NSString *savedString = textview.text; NSFileHandle *myHandle = [NSFileHandle fileHandleForWritingAtPath:documentTXTPath]; [myHandle seekToEndOfFile]; [myHandle writeData:[savedString dataUsingEncoding:NSUTF8StringEncoding]];


Intenta esto funciona muy bien

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *documentTXTPath = [documentsDirectory stringByAppendingPathComponent:@"Notes.txt"]; NSString *savedString = textview.text;

Si el archivo no existe, créelo y escríbalo en el archivo o, de lo contrario, su ya creado se adjunta al final del archivo

NSFileManager *fileManager = [NSFileManager defaultManager]; if(![fileManager fileExistsAtPath:documentTXTPath]) { [savedString writeToFile:documentTXTPath atomically:YES]; } else { NSFileHandle *myHandle = [NSFileHandle fileHandleForWritingAtPath:documentTXTPath]; [myHandle seekToEndOfFile]; [myHandle writeData:[savedString dataUsingEncoding:NSUTF8StringEncoding]]; }


Tambien puedes hacer

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *documentTXTPath = [documentsDirectory stringByAppendingPathComponent:@"Notes.text"]; NSString *content = [NSString stringWithContentsOfFile:documentTXTPath encoding:NSUTF8StringEncoding error:nil]; content = [content stringByAppendingString:data];

Y otra vez escribir contenidos a una ruta de archivo particular

[content writeToFile:documentTXTPath atomically:YES encoding:NSUTF8StringEncoding error:nil];