Зачем использовать NSFileManager, а не просто использовать метод NSData writeToFile: atomically: при создании нового файла?

Рассмотрим следующие два примера кода:

    NSData *imgData = UIImagePNGRepresentation(imgFull);
    NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];   
    NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"itemImg_%i.png", timestamp]]; //add our image to the path
    [imgData writeToFile:fullPath atomically:YES];

и

NSData *imgData = UIImagePNGRepresentation(imgFull);
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];   
NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"itemImg_%i.png", timestamp]]; //add our image to the path
NSFileManager *fileManager = [NSFileManager defaultManager];
[fileManager createFileAtPath:fullPath contents:imgData attributes:nil];

Во втором примере требуется дополнительная строка кода и инициализация объекта NSFileManager, тогда как в первом примере просто объект NSData imgData записывается в файл. Дополнительным преимуществом первого примера является то, что он может перезаписать уже существующий файл с таким же именем.

Мой вопрос: при создании новые файлы, при каких обстоятельствах вы действительно хотели бы использовать NSFileManager и его метод createFileAtPath: contents: attributes: ?

20
задан maxedison 27 February 2012 в 14:41
поделиться