我只是一直在傾斜Cocoa/Objective C幾天,所以這可能很簡單/明顯,但它讓我難倒了。NSString writeToFile,NSSavePanel和寫入權限
我已經寫了這個處理程序來保存3個浮點數到一個文本文件。但是,當我運行它時,文件不會被保存。任何人都可以建議我的代碼中是否有錯誤,或者如果您認爲還有其他內容(如文件寫入權限)會阻止寫入文件。
研究讓我看到了沙盒,但這很容易混淆,我希望在調試時從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];
}
}
NSURL是沒有的NSString。您可以使用selectedFile.path屬性 –
您正在附加文件擴展名。 –