Создание уникальных путей к временным файлам

Я хочу создать уникальные пути к файлам в Objective-C. Я посмотрел на NSTemporaryDirectory(), но самое близкое, что я мог получить, это это и это. А вот во втором создают такой файл. Я не хочу его создавать, я просто хочу NSString для уникального пути для записи... Мне не нужны пути к папкам, только файлы. Как это возможно?


person Michael    schedule 21.07.2010    source источник


Ответы (1)


Вы можете создать имя файла, используя текущую системную дату и время ([[NSCalendarDate calendarDate] descriptionWithCalendarFormat:@"%m%d%Y%H%M%S%F"]).... это включает даже миллисекунды... используйте возвращаемую строку как уникальное имя файла....

Подробнее о форматах даты -> http://developer.apple.com/iphone/library/documentation/cocoa/Conceptual/DatesAndTimes/Articles/LegacyNSCalendarDate.html

person Girish Kolari    schedule 21.07.2010
comment
Да, могу, но кто сказал, что они уникальны? Возможно, в другом приложении уже есть файл с таким именем. - person Michael; 21.07.2010
comment
Существуют различные подходы к решению вышеупомянутой проблемы. 1. Имейте папку с вашим именем приложения, в которой вы хотите создать файл и сохранить файл внутри нее (если вы находитесь в iPhone, приложение находится в песочнице, нет проблем) 2. Имейте префикс для имени файла ‹ AppNAME›_‹FileName› (у вас может быть имя приложения или некоторая постоянная строка может быть HASH-кодом) 3. Проверьте, есть ли файл по вашему выбору, если он есть, затем сгенерируйте еще раз, так как вы получаете разные имена в каждом микро во-вторых, вы должны получить уникальное имя с некоторым количеством итераций попытки. 4. Даже вы можете комбинировать все 3 варианта для лучшего результата - person Girish Kolari; 21.07.2010