現在、Objective C で同じファイルにテキストを読み書きしようとしています。
バンドルされたテキストファイルに書き込もうとする前に。それ以来、私はこれが受け入れられないことを学びました。ファイルへの書き込みに関しては、アクセス許可の問題があることを理解しています。
主にObjective C、特にIOの経験が浅いため、最初にいくつかのエラーに直面しています。既存のテキスト ファイルに書き込もうとしている場合、プロジェクト内のどこにファイルを配置すればよいですか? 現在、ファイルをプロジェクトにドラッグアンドドロップしました。私はこれが間違っていると仮定しており、これが私の問題のほとんどがどこから来ているかです.
テキストファイルを書き込むための私のコードは次のとおりです。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"myFile.txt"];
NSFileHandle *filehandle = [NSFileHandle fileHandleForWritingAtPath:filePath];
[filehandle seekToEndOfFile];
[filehandle writeData:[@"Hello World" dataUsingEncoding:NSUTF8StringEncoding]];
デバッグ時に、 elementfilePath
には、私のプロジェクト ディレクトリにもない非常に長いディレクトリが含まれています。
ファイルに書き込むための私のコードは次のとおりです。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"myFile.txt"];
NSError *error;
NSString *fileContents = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error];
if (error)
NSLog(@"Error reading file: %@", error.localizedDescription);
myArray = [fileContents componentsSeparatedByString:@"\n"];
ファイルの大部分がファイルが存在する場所から来ていることは理解していますが、どこに置くべきかわかりません。アプリケーションを閉じた後、可能であればファイルの内容を物理的に開いて表示できるようにしたいと考えています。