私はCocoa/Objective Cを数日間学習しているだけなので、これはおそらく単純で明白ですが、困惑していることをお詫びします。
3つのfloatをテキストファイルに保存するためにこのハンドラーを作成しました。しかし、私がそれを実行しているとき、ファイルは保存されていません。私のコードにエラーがあるかどうか、またはファイルの書き込みを妨げる何か(ファイルの書き込み権限など)があると思われる場合は、誰かが提案できますか?
調査の結果、サンドボックスを調べるようになりましたが、すぐに混乱してしまいます。デバッグでxcodeからアプリを実行するだけで、ユーザーディレクトリに書き込むことができるようになることを期待しています。
コードは次のとおりです。
- (IBAction)saveResultsAction:(id)sender {
//Sets up the data to save
NSString *saveLens = [NSString stringWithFormat:@"Screen width is %.02f \n Screen Height is %.02f \n Lens is %.02f:1",
self.myLens.screenWidth,
self.myLens.screenHeight,
self.myLens.lensRatio];
NSSavePanel *save = [NSSavePanel savePanel];
long int result = [save runModal];
if (result == NSOKButton) {
NSURL *selectedFile = [save URL];
NSLog(@"Save URL is %@", selectedFile);
NSString *fileName = [[NSString alloc] initWithFormat:@"%@.txt", selectedFile];
NSLog(@"Appended URL is %@", fileName);
[saveLens writeToFile:fileName
atomically:YES
encoding:NSUTF8StringEncoding
error:nil];
}
}