Frage

Ich versuche, eine kleine Textdatei zu öffnen, um einige NSFileHandle -Funktionen in der Datei zu testen. Ich kann jedoch nicht herausfinden, wie ich das macht, wenn Sie mir sagen könnten, was mir fehlt, wäre das großartig.

//.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

//.m

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

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

 [nCode closeFile];
}

Alles, was ich hier mache, ist nur zu versuchen, die Datei zu öffnen. Jedes Mal, wenn ich die Schaltfläche drücke, erhole ich die Fehlermeldung "Öffnen von NCODE zum Lesen fehlgeschlagen" ... was mache ich falsch?

Daraus hoffe ich, einen Weg zu finden, um den Benutzer eine Nummer einzugeben, die eine Zeile in der Textdatei darstellt, und dann den Text zurückzugeben, der in dieser Zeile steht. Dosis, weiß jemand einen Weg, dies zu tun? ist es möglich?

War es hilfreich?

Lösung

Das Problem ist höchstwahrscheinlich der Dateipfad, da Sie keinen vollständigen Pfadnamen angeben. Wenn Sie in Ihrem Anwendungsbündel auf eine Datei zugreifen möchten, verwenden Sie -[NSBundle pathForResource:ofType]:

NSString *path = [[NSBundle mainBundle] pathForResource:@"nCode01"
                                                 ofType:@"txt"];
nCode = [NSFileHandle fileHandleForReadingAtPath:path];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top