12

因此,在我的应用程序中,我有一堆数据要写入日志文件,然后在UITextView单击按钮时将其显示在 a 中。我知道如何切换 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 回答