Por lo tanto, en mi aplicación tengo un montón de datos que me gustaría escribir en un archivo de registro y luego mostrarlos en un UITextView
cuando hago clic en un botón. Sé cómo alternar el UITextView, pero no tengo idea de cómo crear y actualizar un archivo de registro (en el sistema de archivos local). Gracias por cualquier ayuda.Crear un archivo de registro en una aplicación de iOS
11
A
Respuesta
32
La idea básica es crear el archivo y anexarlo cada vez que inicie una nueva línea. Puede hacerlo con bastante facilidad como esto:
escribir en el archivo:
NSString *content = @"This is my log";
//Get the file path
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *fileName = [documentsDirectory stringByAppendingPathComponent:@"myFileName.txt"];
//create file if it doesn't exist
if(![[NSFileManager defaultManager] fileExistsAtPath:fileName])
[[NSFileManager defaultManager] createFileAtPath:fileName contents:nil attributes:nil];
//append text to file (you'll probably want to add a newline every write)
NSFileHandle *file = [NSFileHandle fileHandleForUpdatingAtPath:fileName];
[file seekToEndOfFile];
[file writeData:[content dataUsingEncoding:NSUTF8StringEncoding]];
[file closeFile];
lectura:
//get file path
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *fileName = [documentsDirectory stringByAppendingPathComponent:@"myFileName.txt"];
//read the whole file as a single string
NSString *content = [NSString stringWithContentsOfFile:fileName encoding:NSUTF8StringEncoding error:nil];
1
que pensé que era una clase que hay que hacer esto de forma automática ya que después no hubo suerte creado mío.
NSLogger es una clase liviana para las versiones de iOS 3.0 y superiores. Permite a los desarrolladores registrar fácilmente diferentes 'eventos' a lo largo del tiempo que se almacenan localmente como un archivo .txt.
Cuestiones relacionadas
- 1. Crear registro de varios pasos en iOS
- 2. Crear un archivo de registro cifrado
- 3. Cómo registro un tipo de archivo personalizado en iOS
- 4. Crear un archivo de registro MSI
- 5. Crear archivo de registro en Powershell
- 6. C# Mejor método para crear un archivo de registro
- 7. VB6: cómo crear un archivo de registro en VB6 al iniciar la aplicación
- 8. Programación de una aplicación universal en IOS
- 9. Archivo de configuración de aplicación iOS
- 10. CodeIgniter no crear ningún archivo de registro
- 11. crear un formulario de registro
- 12. Crear entrada de registro para asociar la extensión de archivo con la aplicación en C++
- 13. Capturar firmas en una aplicación de iOS
- 14. Crear un temporizador de iOS
- 15. Python: borre un archivo de registro
- 16. Subdirectorios dentro de una aplicación de iOS
- 17. Validar una aplicación de iOS
- 18. Leer datos de un archivo de registro como una aplicación por separado está escribiendo en él
- 19. ¿Cómo crear un archivo ejecutable para una aplicación Qt?
- 20. Crear un archivo ZIP desde una aplicación Cocoa
- 21. ¿Cómo decodificar un registro de bloqueo utilizando el archivo dSYM en iOS?
- 22. ¿Cómo crear un archivo JNLP para una aplicación web java?
- 23. Cómo crear una galería en iOS
- 24. iOS: Crear una sombra de gotas lateral
- 25. Crear un archivo csv desde una matriz de datos en iOS
- 26. Crear un UIImage con una URL en IOS
- 27. Aplicación IOS: defina el protocolo en un archivo separado
- 28. ¿Cookies persistentes en una aplicación de iOS?
- 29. Aplicación de despertador en iOS
- 30. ¿Cómo crear una matriz de registro numpy?
No le gusta '[NSFileHandle fileHandleForUpdatingAtPath: logPath];' 'logPath' diciendo que es el uso del identificador no declarado. ¿Podría aclararlo? –
Malo - reemplace logPath con fileName. Variable incorrecta – CrimsonDiego
Gracias. Aunque hice todo lo que dijo, y luego cuando quise agregar los datos a mi UITextView, usando 'logFile.text = [NSString stringWithContentsOfFile: fileName encoding: NSUTF8StringEncoding error: nil];' No apareció nada. Hice algunas depuraciones y vi que el archivo de registro en sí era nulo. ¿Tienes alguna idea de por qué? –