6 апр. 2014 г.

Определение объема HDD и оставшегося свободного места

Определение объема HDD и оставшегося свободного места //get startup disk total size+(NSNumber *)getDiskTotalSize{    NSDictionary *attr = [[NSFileManager defaultManager] attributesOfFileSystemForPath:@"/" error:nil];        return [attr objectForKey:NSFileSystemSize];}//get startup disk's free size+(NSNumber *)getDiskAvailableSize{    NSDictionary *attr = [[NSFileManager defaultManager] attributesOfFileSystemForPath:@"/" error:nil];        return [attr objectForKey:NSFileS...

Определение домашней папки пользователя

Определение домашней папки пользователя //get user home+(NSString *)getUserHome{    const char *home = getpwuid(getuid())->pw_dir;    NSString *path = [[NSFileManager defaultManager]                      stringWithFileSystemRepresentation:home                      length:strlen(home)];    NSString *realHomeDirectory = [[NSURL fileURLWithPath:path isDirectory:YES] path];       ...

Перекодировка строки в UTF8 и обратно

Код перекодировки строки в UTF8 и обратно //Encode NSString to UTF8 + (NSString *)encode2UTF8:(NSString *)originalStr {     NSString *encodedString = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)originalStr,NULL,NULL,kCFStringEncodingUTF8));          return encodedString; } //Decode UTF8 NSString + (NSString *)decodeFromUTF8:(NSString *)utf8Str {     return [utf8Str stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; ...

3 апр. 2014 г.

Системные директории в Objective-C

Директория /tmp Большинство операционных систем имеют стандартный каталог предоставленный специально для целей временного хранения файлов. Другие системы также обеспечивают другую временную папку для каждого пользователя. Точное место отличается в зависимости от платформы. Самым безопасным будет использование NSTemporaryDirectory(), чтобы определить соответствующий каталог. Эта функция возвращает временный каталог для текущего пользователя в виде объекта NSString. Следующий фрагмент кода определяет и затем отображает временный каталог, используя...

2 апр. 2014 г.

Обработка файлов с помощью класса NSFileHandle

Класс NSFileHandle предоставляет широкий спектр методов, предназначенных для обеспечения более продвинутого механизма работы с файлами. В дополнение к файлам, этот класс также может быть использован для работы с устройствами и сетевыми сокетами. В следующих пунктах Мы рассмотрим некоторые из наиболее распространенных применений данного класса. Инициализация NSFileHandle класса Объект NSFileHandle создется при открытии файла для чтения, записи или обновления (чтение и запись). Это достигается с помощью fileHandleForReadingAtPath, fileHandleForWritingAtPath...

NSFileManager - работа с каталогами и файлами (примеры). Часть 2

Продолжение первой части примеров по NSFileManager. Копирование файла Копирование файлов может быть достигнуто с помощью метода copyItemAtPath. Как и в методе перемещения, этот метод принимает в качестве аргументов путь-источник и путь назначения, а также дополнительный объект NSError. Успех операции в возвращенном логическое значении: NSFileManager *filemgr; filemgr = [NSFileManager defaultManager]; if ([filemgr copyItemAtPath: @"/tmp/myfile.txt" toPath: @"/Users/demo/newfile.txt" error: NULL] == YES) NSLog (@"Скопировано"); else ...

NSFileManager - работа с каталогами и файлами (примеры). Часть 1

Инициализация NSFileManager Класс NSFileManager содержит метод класса с именем defaultManager, который используется для создания экземпляра класса. Например: получить ссылку на экземпляр объекта NSFileManager: NSFileManager *filemgr; filemgr = [NSFileManager defaultManager]; Проверка на наличие или отсутствие файла Класс NSFileManager содержит метод экземпляра с именем fileExistsAtPath, который проверяет, существует ли указанный файл. Метод принимает в качестве аргумента объект NSString, содержащий путь к файлу и возвращает логическое...

1 апр. 2014 г.

Objective-C - операции с каталогами

Понимание путей в Objective-C Имена путей определяются с помощью конвенции UNIX. Таким образом каждый компонент пути отделяется косой чертой (/). Пути, которые не начинаются с косой черты интерпретируются относительно текущего рабочего каталога. Например, если текущий рабочий каталог /home/ ObjC/MyApp/example.m то это считается полный путь.  Кроме того, домашний каталог текущего пользователя может быть представлен с помощью тильды (~). Например путь ~/example.m ссылается на файл с именем example.m расположенный в домашнем каталоге текущего...

NSFileManager, NSFileHandle и NSData классы (миниобзор)

Foundation Framework предоставляет три класса, которые необходимы, для работы с файлами и каталогами: Класс NSFileManager может быть использован для выполнения основных операций с файлами и каталогами, такие как создание, перемещение, чтение и запись файлов, чтение и установка атрибутов файла. Кроме того, этот класс предоставляет методы для  других задач, среди которых выявление текущего рабочего каталога, изменения в новом каталоге, создание каталогов и список содержимого каталога. Класс NSFileHandle предоставляется для...

NSUserDefaults - сохранение настроек приложения

Использование NSUserDefaults - самый легкий и самый простой способ (существуют и иные способы) сохранения настроек Вашего приложения. NSUserDefaults - это простой список данных (аналог plist), с помощью которого приложение может хранить простые данные. Нет никаких ограничений на размер данных (помимо собственных ограничений заданных приложением), не используйте этот класс для хранения очень большого объема данных. Файл записывается и считывается атомарно (т.е. целиком), т.е., чем больше данных, которые находятся в файде, тем дольше они будут...