Главная » iPhone, Objective-C, Программирование для iOS и MacOS » Запись в файлы с использованием NSString и NSData Objective-C

0

Библиотека Foundation предоставляет разработчику несколько простых механизмов чтения и записи в файлы. Некоторые из них будут рассмотрены в этой главе.

Запись NSStгing в файл

Начнем с сохранения в файле содержимого NSString. При записи строки в файл необходимо указать используемую кодировку, то есть способ представления каждого символа в виде массива байтов. В кодировке АSCII буква ‘А’ хранится в виде 01000001, а в кодировке UTF-16 та же буква ‘А’ представляется в виде 0000000001000001.

Библиотека Fоundаtiоn поддерживает около  20  видов  кодировки  строк. Кодировка UTF способна справиться даже с самыми экзотическими алфавитами. Она существует в двух разновидностях: в UTF-16 каждый символ представляется двумя и более байтами, а в UTF -­‐8 для первых 128 символов АSCII используется один байт, а для всех остальных символов – два и более байта.  Для  многих  практических  задач UTF-8 оказывается достаточно ..

Создайте новый проект: программу командной строки Foundation с именем Stringz. В функции main() методами класса NSString мы создадим строку и запишем ее в файловую систему:

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[])   {

@autoreleasepool {

NSMutableString *str = [[NSMutableString alloc] init]; for (int i = 0; i < 10; i++) {

[str appendString:@"Aaron is cool!\n"];

}

[str writeToFile:@"/tmp/cool.txt" atomically:YES

encoding:NSUTF8StringEncoding error:NULL];

NSLog(@"done writing /tmp/cool.txt");

}

return 0;

}

Программа создает текстовый файл, который можно читать и редактировать в любом текстовом редакторе. Строка /tmр/сооl.txt содержит путь к файлу. Пути могут быть абсолютными или относительными; абсолютный  путь  начинается  с символа /, представляющего корневой уровень файловой системы,  а  относительные пути начинаются с рабочего каталога программы. Относительный путь не может начинаться с /. В программировании Objective-C почти всегда используются абсолютные пути, потому что мы не знаем рабочий каталог программы. (Чтобы найти каталог /tmp в Findеr, используйте команду меню Go -­‐> Go to Folder.)

Источник: Аарон Хилегас, «Objective-C. Программирование для iOS и MacOS», 2012 г.

По теме:

  • Комментарии