Рассмотрим следующие два примера кода:
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:
?