12

UITextViewそのため、私のアプリには、ログファイルに書き込み、ボタンをクリックしたときに表示したいデータがたくさんあります。UITextViewを切り替える方法は知っていますが、(ローカルファイルシステムで)ログファイルを作成および更新する方法がわかりません。助けてくれてありがとう。

4

2 に答える 2

34

基本的な考え方は、ファイルを作成し、新しい行をログに記録するたびにファイルに追加することです。あなたはこのようにそれを非常に簡単に行うことができます:

ファイルへの書き込み:

NSString *content = @"This is my log";

//Get the file path
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *fileName = [documentsDirectory stringByAppendingPathComponent:@"myFileName.txt"];

//create file if it doesn't exist
if(![[NSFileManager defaultManager] fileExistsAtPath:fileName])
    [[NSFileManager defaultManager] createFileAtPath:fileName contents:nil attributes:nil];

//append text to file (you'll probably want to add a newline every write)
NSFileHandle *file = [NSFileHandle fileHandleForUpdatingAtPath:fileName];
[file seekToEndOfFile];
[file writeData:[content dataUsingEncoding:NSUTF8StringEncoding]];
[file closeFile];

読む:

//get file path
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *fileName = [documentsDirectory stringByAppendingPathComponent:@"myFileName.txt"];

//read the whole file as a single string
NSString *content = [NSString stringWithContentsOfFile:fileName encoding:NSUTF8StringEncoding error:nil];
于 2012-06-15T20:13:17.067 に答える
1

運が悪かったので、これを自動的に行うクラスだと思いました。

NSLoggerは、iOSバージョン3.0以降用の軽量クラスです。これにより、開発者は、ローカルに.txtファイルとして保存されているさまざまな「イベント」を時間の経過とともに簡単にログに記録できます。

https://github.com/northernspark/NSLogger

于 2015-04-21T23:16:51.317 に答える