現在、iosでファイルとフォルダーを作成および管理する方法を学んでいます。しかし、私はフォルダ部分を正しく行うことができないようです。以下のコードの何が問題になっていますか?
- (void)viewDidLoad
{
[super viewDidLoad];
NSFileManager *filemgr;
NSString *dataFile;
NSString *docsDir;
NSString *newDir;
NSArray *dirPaths;
BOOL isDir;
filemgr = [NSFileManager defaultManager];
// Identify the documents directory
dirPaths = NSSearchPathForDirectoriesInDomains(
NSDocumentDirectory, NSUserDomainMask, YES);
docsDir = dirPaths[0];
// Build the path to the data file
if ([filemgr fileExistsAtPath:@"newfolder" isDirectory:&isDir] && isDir) {
NSLog(@"folder already created!");
}else{
NSLog(@"create new folder now...");
newDir = [docsDir stringByAppendingPathComponent:@"newfolder"];
}
dataFile = [docsDir stringByAppendingPathComponent:
@"/newfolder/datafile.dat"];
// Check if the file already exists
if ([filemgr fileExistsAtPath: dataFile])
{
// Read file contents and display in textBox
NSData *databuffer;
databuffer = [filemgr contentsAtPath: dataFile];
NSString *datastring = [[NSString alloc]
initWithData: databuffer
encoding:NSASCIIStringEncoding];
_textBox.text = datastring;
}
}
- (IBAction)saveText:(id)sender {
NSFileManager *filemgr;
NSData *databuffer;
NSString *dataFile;
NSString *docsDir;
NSArray *dirPaths;
filemgr = [NSFileManager defaultManager];
dirPaths = NSSearchPathForDirectoriesInDomains(
NSDocumentDirectory, NSUserDomainMask, YES);
docsDir = dirPaths[0];
dataFile = [docsDir
stringByAppendingPathComponent: @"/newfolder/datafile.dat"];
databuffer = [_textBox.text
dataUsingEncoding: NSASCIIStringEncoding];
[filemgr createFileAtPath: dataFile
contents: databuffer attributes:nil];
}
何が起こるかわかりませんが、シミュレーションを実行するたびに、以前にテキストを入力したにもかかわらず、空白のテキスト フィールドが表示されます。Hereのチュートリアルに従い、ディレクトリ作成部分の他の例をグーグルで検索しました。何がうまくいかないようですか?? ありがとう!