0

ファイルでいくつかの NSFileHandle 関数をテストするために、小さなテキスト ファイルを開こうとしています。ただし、これを行う方法がわかりません。何が欠けているか教えていただければ幸いです。

//.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];
}

ここで行っているのはファイルを開こうとしているだけですが、ボタンを押すたびに「読み取り用の nCode のオープンに失敗しました」というエラーメッセージが表示されます...何が間違っていますか?

このことから、ユーザーがテキスト ファイルの行を表す数値を入力し、その行にあるテキストを返す方法を見つけたいと思っています。誰かがその方法を知っていますか? 出来ますか?

4

1 に答える 1

3

フルパス名を指定していないため、ファイルパスに問題がある可能性が最も高いです。アプリケーション バンドル内のファイルにアクセスする場合は、次を使用します-[NSBundle pathForResource:ofType]

NSString *path = [[NSBundle mainBundle] pathForResource:@"nCode01"
                                                 ofType:@"txt"];
nCode = [NSFileHandle fileHandleForReadingAtPath:path];
于 2011-06-14T22:56:28.037 に答える