Pregunta

Estoy tratando de abrir un pequeño archivo de texto para probar algunas funciones NSFileHandle en el archivo. Sin embargo, no puedo entender cómo hacer esto, si pudieras decirme lo que me estoy perdiendo, sería genial.

//.H

@interface MainViewController : UIViewController <FlipsideViewControllerDelegate> {
    NSFileHandle *nCode;
}
@property (nonatomic, retain) IBOutlet NSFileHandle *nCode;

- (IBAction)showInfo:(id)sender;

//check for code
- (void)fetchCode:(id)sender; //this function is attached to a button in the .nib

@end

//.metro

- (void)fetchCode:(id)sender{
nCode = [NSFileHandle fileHandleForReadingAtPath:@"nCode01.txt"];

if (nCode == nil) {
    NSLog (@"Open of nCode for reading failed\n");
    return;
}

 [nCode closeFile];
}

Todo lo que estoy haciendo aquí es intentar abrir el archivo, sin embargo, cada vez que presiono el botón Recive el mensaje de error "Abierto de NCODE para leer fallado" ... ¿Qué estoy haciendo mal?

A partir de esto, espero encontrar una manera de dejar que el usuario ingrese un número que represente una línea en el archivo de texto y luego devolver el texto que está en esa línea. ¿La dosis de alguien sabe una forma de hacerlo? ¿Es posible?

¿Fue útil?

Solución

Lo más probable es que el problema sea la ruta del archivo ya que no está especificando un nombre de ruta completo. Cuando desee acceder a un archivo dentro de su paquete de aplicaciones, use -[NSBundle pathForResource:ofType]:

NSString *path = [[NSBundle mainBundle] pathForResource:@"nCode01"
                                                 ofType:@"txt"];
nCode = [NSFileHandle fileHandleForReadingAtPath:path];
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top