使用stringWithFormat:作为cocoa中的文件路径

nos*_*e25 1 string cocoa text-files stringwithformat

我遇到了一个带有文本字段值的cocoa应用程序的问题,并将其写入文件.使用stringWithFormat:创建文件路径以组合2个字符串.由于某种原因,它不会创建文件,控制台什么都不说.这是我的代码:

//Get the values of the text field
NSString *fileName = [fileNameTextField stringValue];
NSString *username = [usernameTextField stringValue];

//Use stringWithFormat: to create the file path
NSString *filePath = [NSString stringWithFormat:@"~/Library/Application Support/Test/%@.txt", fileName];

//Write the username to filePath
[username writeToFile:filePath atomically:YES];
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

mip*_*adi 9

问题是你~在路径中有一个波浪号.~shell扩展到用户的主目录,但这不会在Cocoa中自动发生.你想用-[NSString stringByExpandingTildeInPath].这应该工作:

NSString *fileName = [fileNameTextField stringValue];
NSString *username = [usernameTextField stringValue];
NSString *fileName = [fileName stringByAppendingPathExtension:@"txt"];    // Append ".txt" to filename
NSString *filePath = [[@"~/Library/Application Support/Test/" stringByExpandingTildeInPath] stringByAppendingPathComponent:fileName];    // Expand '~' to user's home directory, and then append filename
[username writeToFile:filePath atomically:YES];
Run Code Online (Sandbox Code Playgroud)