Создание файла журнала в приложении iOS

Итак, в моем приложении у меня есть куча данных, которые я бы хотел записать в файл журнала, а затем отобразите ее в UITextView, когда я нажимаю кнопку. Я знаю, как переключать UITextView, но я понятия не имею, как создать и обновить файл журнала (в локальной файловой системе). Спасибо за любую помощь.

Ответ 1

Основная идея заключается в том, что вы создаете файл и добавляете его каждый раз, когда вы регистрируете новую строку. Вы можете сделать это довольно легко:

Запись в файл:

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];

Ответ 2

Я думал, что это класс, чтобы сделать это автоматически, так как после того, как удача не создала мою собственную.

NSLogger - это легкий класс для iOS версий 3.0 и выше. Это позволяет разработчикам легко записывать различные "события" с течением времени, которые локально сохраняются как .txt файл.

https://github.com/northernspark/NSLogger