Преимуществом метода NSFileManager
является поле attributes
:
Словарь, содержащий атрибуты, связанные с новым файлом. Эти атрибуты можно использовать для установки номера владельца и группы, прав доступа к файлу и даты изменения. Список ключей см. В разделе «Ключи атрибутов файла». Если вы укажете nil для атрибутов, файл будет создан с набором атрибутов по умолчанию.
Эта функция необычна для использования в iOS, но NSFileManager
намного старше, чем iOS.
Кстати, дополнительная строка, которую вы описываете, почти никогда не появляется в реальном коде. Либо у вас уже есть переменная fileManager
, которую вы использовали по другим причинам, либо вы объединяете две строки в одну:
[[NSFileManager defaultManager] createFileAtPath:fullPath contents:imgData attributes:nil];
И еще один. Как вы заметили:
Дополнительным преимуществом первого примера является то, что он может перезаписать уже существующий файл с тем же именем.
Ну, это преимущество или недостаток в зависимости от того, что вы хотите. Если вы имеете в виду «создать этот файл, но не перезаписывать его, если он уже существует», то метод FM гораздо удобнее. Может быть, это ошибка перезаписать существующий файл; это спасает вас от звонка на fileExistsAtPath:
. Может быть, вы хотите создать пустой файл, если его там нет, но оставить его в покое, если он есть Просто: передайте [NSData data]
в качестве значения contents
.
То, что лучше, зависит от того, какую проблему вы решаете.